机器学习回顾
注:参数和超参数的区别:参数是指需要通过训练数据来训练确定的随机数,超参数则为需要人工手动设置的参数;上面公式中的函数 f 为模型本身;
注:测试集只能使用一次,当模型在测试集进行过一次测试后,该测试集对该模型而言等价于验证集;
注:目标函数中的参数T是指训练数据本身,为已知;
注:是整体数据相加后再求平均;
注:凸函数总是会有全局最小值;
注:随机梯度下降的缺点,单个数据不能代表数据集本身,因此非常不稳定;
神经网络基础
注:神经网络的模型是线性运算和非线性运算的一个组合;
注:前向传播算法公式中,J 表示目标函数,D 表示训练集,为真值,
为预测值;因为函数 f 是线性函数和非线性函数的组合,因此,f 可以写成
;
反向传播算法需要计算将函数 f 拆解成 n 个fn 后,每个 fn 里的参数;
注:只跟的形式有关是指,除本身
外的所有项(如j-1,j-2),在求偏导时,都会看成是常数,其导数都为0;
算法伪代码:
注:目标函数 J 和函数值 y 的区别:J 是目标函数本身,y 则是当自变量 x 确定后,对应的函数值,是目标函数 J 所有值的集合中的一个具体值;
注:softmax函数可以将一个多向量变成概率,一个多维向量经过softmax变换后,每维向量的值都在0到1之间,且每维向量的和为1;
注:当真值 y 等于预测值 时,CE会取得最小值;
计算示例:
注:上图中的问题是一个多分类问题,即 y 值向量有且只有一个维度等于1;
小试牛刀
NNLM
注:上图中,input层的输入为one-hot vector编码(如单词 皮卡丘 表示为 000010 , 皮丘表示为 01000000),此时,机器无法理解这两个词的关系;经过input embeddings后,使用更高维的特征来表示单词(如单词 皮卡丘 的表示可能为 0.12 0.22 0.33 0.44,皮丘的表示为 0.12 0.55 0.66 0.77),机器就有可能会发现多个单词在更高维度的表示上是相似的,这样就是理解这多个单词之间是有联系的;
Word2Vec
Word2Vec只有一个embedding层和一个softmax层;Word2Vec没有内部的评价指标,只能跟据外部指标来评价,如下面的四词类比任务;计算资源足够的情况下,可以用NNLM来训练embedding;embedding的初始矩阵也是随机的,随机值通过训练来更新;