Posts List

自然语言处理和词嵌入

词汇表征 计算机是无法直接认识单词的,所以为了让计算机能更好地理解人类语言,需要将词汇进行表征。之前用到的方法是One-hot表征,即创建一个向量,将对应单词的位置用1表示,其余位置用0表示。这种方法的缺点是无法获得词与词之间的相关性。另一种方法是特征表征,即词嵌入,用不同的特征对单词进行特征化表示。

循环神经网络

对于序列模型,使用传统的神经网络效果并不好。原因是输入输出数据的长度可能不同,另外这种神经网络结果不能共享从文本不同位置所学习到的特征。循环神经则不存在这两个缺点。在每一个时间步中,循环神经网络会传递一个激活值到下一个时间步中,用于下一时间步的计算。

数据统计——研究生出生日期

最近得到了一份带有班里所有学生身份证号的Excel文件,于是想要统计一下所有同学的出生信息。这里选用xlrd模块读取Excel文件,文件中三个工作表(Sheet)只有第一个有数据,所以读取第一个Sheet的内容。

深度学习之结构化机器学习

评估 在训练机器学习模型时,设置单一数字评估指标可以更好地评估模型。如查准率、召回率和结合两种的F1分数。 在选择训练、开发、测试集时要遵循一定规则,开发集和测试集的分布要来自同一分布,且随机选取。

深度学习之改善深层神经网络

本文主要叙述神经网络的数据集、偏差与方差、正则化、随机失活、归一化输入、梯度消失与梯度爆炸、梯度检验等要点。 数据集 在建立神经网络模型前,我们要将数据集划分为三个部分:训练集、交叉验证集和测试集。欠拟合的情况下,出现高偏差;过拟合的情况下,出现高方差。出现高偏差时,可以使用增加隐藏层数目、加长训练时间等方法解决。出现高方差时,可以使用增加训练数据、正则化等方法解决。

深度学习之神经网络

因为此部分在之前的博文中提及,所以不再详细赘述其中原理,代码只展示核心部分。 激活函数在神经网络中具有重要的地位,常见的激活函数有sigmoid、tanh、ReLU(修正线性单元)和Leaky ReLU等。前两种是饱和激活函数、后两种则是非饱和激活函数,它可以解决“梯度消失”的问题并加快收敛速度。

机器学习之支持向量机

概念 支持向量机(Support Vector Machine,缩写SVM)是一种监督式学习方法,广泛应用于统计分类以及回归分析,和逻辑回归同属于线性分类器。SVM计算出的决策边界与正、负样本保持了足够大的距离,因此SVM是一种大间距分类器。

机器学习之推荐系统

概念 很多网站都使用推荐系统预测用户喜欢的内容。以电影资讯网站为例,假设电影有多个特征,那么根据用户对电影的打分,我们可以预测用户可能喜欢那些类型的电影,这就是基于内容的推荐系统。这种优化过程和线性回归类似。

机器学习之异常检测

概念 异常检测是一种识别异常样本的方法,我们需要构建一个概率模型,如果某一样本被认定是正常样本的概率足够小,那么它会被当做异常样本。高斯分布(或称正态分布)模型是异常检测算法最常使用的概率分布模型。

机器学习之主成分分析

概念 主成分分析(Principle Component Analysis,缩写PCA)是一种特征降维技术,也是一种无监督学习算法。另外两种较为常用的降维技术是t-SNE和自编码器。PCA能从冗余特征中提取主要成分,在不太损失模型质量的情况下,提升模型训练速度。