4. Fasttext 分类器论文Bag of Tricks for Efficient Text Classification
4. Fasttext 分类器论文Bag of Tricks for Efficient Text Classification
原文链接
Abstract本文意在探索一种简单又有效的文本分类基准。实验证明了fast text 分类器 fastText在准确率上表现几乎与一些深度学习模型不相上下,并且在训练和评估上快很多。fastText可以使用标准多核cpu上训练大于10亿词汇,训练时间小于10分钟,并且区分312K类别的50w条句子用时少于1min。
1. Introduction文本分类在NLP许多应用上是非常重要的任务,如搜索,信息检索,排序和文档分类。近来,基于神经网络建模变得越来越受欢迎。虽然,在实际中这些模型取得不错的表现,它们在训练和测试时,变得相对较慢,限制在于其使用非常大的数据集。
与此同时,线性分类器经常被看作文本分类任务的baseline。尽管它们很简单,如果特征使用合适的话也能取得非常好的表现。其也有潜力拓展到非常大的语料上。
在本文中,探索如何将这些baseline,在文本分类的上下文中,拓展到有巨大输出空间的非常大的语料库上。受到近期成果,有效词表示学习 ...
np.convolve 使用
4. np.convolve 使用1. np.convolve 基本定义numpy 中实现卷积操作的函数 numpy 官方文档,定义为:convolve(a, v, mode='full'),其中,a和v都是1-d的array, 长度为N,M。 注意一点:
If v is longer than a, the arrays are swapped before computation.一旦v比a长,就要交换两个数组,就是a与v对应公式中的位置互换。这是因为,按照如下官方计算公式,不然会出现$v[n-m]$的index是个负数。
(a * v)[n]=\sum_{m=-\infty}^{\infty} a[m] v[n-m],
mode可选3种方式:
full: 默认值,返回每一个卷积值,长度是N+M-1,在卷积的边缘处,信号不重叠,存在边际效应。
same: 返回值长度与\max(M, N),还是存在边际效应。
valid: 返回值长度为\max(M, N) - \min(M, N) + 1,这时计算只在两个输入的重叠部分进行,没有边际效应。实际中一般用这个。
...
RNN, LSTM , GRU 结构解释和其在Pytorch中的使用
RNN, LSTM , GRU 结构解释和其在Pytorch中的使用1. RNN 结构和内部计算RNN结构示意图(这里没画bias, 但公式里写了,借的李宏毅教授PPT图)
$x$为当前状态下数据的输入, $h$表示接收到的上一个节点的输入。
$y$为当前节点状态下的输出,而 $h^{\prime} $为传递到下一个节点的输出。
真实计算公式为:
\begin{align}
\boldsymbol{h}_t &= \text{tanh} (\boldsymbol{W}_h [\boldsymbol{x}_t, \boldsymbol{h}_{t-1}] + b_t)
\\
\\
\boldsymbol{y}_t &= \text{tanh} (\boldsymbol{W}_0 \boldsymbol{h}_t + b_t)
\end{align}通过上图的公式可以看到,输出$\boldsymbol{h}^{\prime}$与 $\boldsymbol{x}$ 和 $\boldsymbol{h}$的值都相关。
而 $\boldsymbol{y}$ 则常常使用 $\boldsym ...
1.Efficient Estimation ofWord Representations in Vector Space——Mikolov论文笔记
词向量空间中词表示的有效估计摘要提出了两种计算连续词向量表示模型。 特点:计算低,在语法和语义上的词相似度任务上精度有所提升
1. 简介以前模型的优点缺点:
统计翻译模型的缺陷:把单词当做原子单元,作为语料字典的索引失去了相似性。
N-gram优点能在任何数据集上训练。
简单模型在任务上的限制。如,语音识别:要求语音数据质量高,规模大,但不超过10亿级别的词汇量。因此简单技术改进不会有任何进步。
随着机翻技术发展,现在能大规模数据上训练复杂模型。非常成功的概念是分布式词表示。例如,基于神经语言模型明显地优于N-gram模型
论文目标主要目标:从百万级词汇的大数据集中学习高质量的词向量。之前方法不能在百万级别词上学到词向量在50-100维之间。
词从原空间映射到词向量子空间后,词与词之间不仅更近,而且有更多相似度。
惊人的是,词表示的相似度超越了简单的语法规则。如:
\vec{\text{King}} - \vec{\text{Man}} + \vec{\text{Woman}} = \vec{\text{Queen}}本文,试图通过开发新模型来最大化词向量操作的准确 ...
3.Seaborn notes
3.Seaborn notesSeaborn 绘制图形技巧主要在于数据思维难,如:怎么选择字段,怎么选择预处理数据,绘制什么图像,以及要在图像上体现数据统计量及其变化。我们应该去逐一理解数据,选择合适的技巧。下面举例了8个常用的绘制函数。每个函数调用时,针对DataFrame这种数据类型,要注意打算绘制哪些字段(哪些列),用什么绘制函数,输入参数有哪些,主要注意x,y选择的字段。
1.lineplot绘制折线图命令:seaborn.lineplot(x, y, data, hue, legend),基本上了解这些参数就可以了。
x,y就是数据的不同列会作为x轴,y轴的输入数据。如果具体指明对应的列,data参数可以不要。
如示例中可以改为 sns.lineplot(x=fmri['timepoint'], y=fmri['signal'], hue=fmri['event'])。
data可以是df, ndarray等。一般是df,这时上面的x,y参数可以只写列名。
hue利用颜色来表示类型变量, 如例子fmri中绘制不同event ...
1. 图片数据增强
1. 图片数据增强1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162def display_augmentations(path): original = cv2.imread(path) #读取原图 original = cv2.cvtColor(original, cv2.COLOR_BGR2RGB)#转RGB #Transformations p=0.5一般是应用该变换的概率 # RGB平移 g通道平移最多50 注意添加[] transform_rgb = alb.Compose([RGBShift(g_shift_limit=50, always_apply=True)]) #色调饱和度值,3个参数:随机色调、饱和度、值变化。 transform_hsv = alb.Compose([HueSaturationValue(hue_shift_limit=10, ...
hexo + butterfly blog安装
hexo + Butterfly blog安装1. 安装hexo butterfly1. 安装hexo12npm install -g hexo-clihexo init
2. 安装butterfly12git clone -b master https://github.com/jerryc127/hexo-theme-butterfly.git themes/Butterfly
将hexo根目录下_config.yml改为theme: Butterfly。
平滑升级
推荐把主题默认的配置文件_config.yml 复製到 Hexo 根目录下的 `_config.butterfly.yml’
Hexo會自動合併主題中的_config.yml和 _config.butterfly.yml裡的配置,如果存在同名配置,會使用_config.butterfly.yml的配置,其優先度較高。
安装安装 pug 以及 stylus 的渲染器插件。
1npm install hexo-renderer-pug hexo-renderer-stylus --save
proxy123sudo np ...
2. 用TPU分类100种花
2. 用TPU分类100种花本文是 Flower Classification with TPUs比赛中一个使用VGG16预训练模型在TPU上的实现 Getting started with 100+ flowers on TPU 。也可以在 Colab 查看.
首先是一些参数设置,主要是设置TPU。
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566import math, re, osimport tensorflow as tfimport numpy as npimport matplotlib.pyplot as pltfrom sklearn.metrics import f1_score, precision_score, recall_score, confusion_matrixprint(tf.__version__)AUTO = tf.data.experimental. ...
1.子图绘制
1.子图绘制使用matplotlib, seaborn绘制子图时主要注意plt.subplot(a, b, c)这个方法使用,其中
a, 代表行数
b, 代表列数
c, 代表绘制在第几个
这3个参数经常写作abc这种形式。本文来自于 tutorial-python-subplots。
而 seaborn.countplot()绘制函数可以在 seaborn.countplot学习,其它也类似。
1. 绘制1x1子图12345678910111213141516171819202122232425262728293031323334#import pandas as pdimport matplotlib.pyplot as pltimport seaborn as snsimport numpy as npfrom pathlib import Pathnp.set_printoptions(threshold=20)data_dir = Path(r'data')df = pd.read_csv(data_dir/'heart.csv ...
1. Hexo + Matery blog 搭建
1. Hexo + Matery blog 搭建1. 卸载以前安装 hexo1. 卸载 hexo 及 重新安装记得备份以前文档
12345678910111213141516sudo npm uninstall -g hexo-cli#apt-get 卸载sudo apt-get remove --purge npmsudo apt-get remove --purge nodejssudo apt-get remove --purge nodejs-legacysudo apt-get autoremove#手动删除 npm 相关目录sudo rm -r /usr/local/bin/npmsudo rm -r /usr/local/lib/node-moudelssudo find / -name npmsudo rm -rf /usr/local/lib/*sudo rm -r /tmp/npm*
2. 重新安装nodejs/ npm/ hexo123456789101112131415161718#重新安装nodejssudo curl -sL https://deb.nod ...