动手深度学习(1)

(1)假如你正在实现一个全连接层,全连接层的输入形状是7×8,输出形状是7×1,其中7是批量大小,则权重参数ww和偏置参数bb的形状分别是8x1和1x1.。
在这里插入图片描述
单个神经元实例

(2)

课程中的损失函数定义为:

def squared_loss(y_hat, y):

return (y_hat - y.view(y_hat.size())) ** 2 / 2

将返回结果替换为下面的哪一个会导致会导致模型无法训练:(B)

A.(y_hat.view(-1) - y) ** 2 / 2

B.(y_hat - y.view(-1)) ** 2 / 2

C.(y_hat - y.view(y_hat.shape)) ** 2 / 2

D.(y_hat - y.view(-1, 1)) ** 2 / 2

y_hat的形状是[n, 1],而y的形状是[n],两者相减得到的结果的形状是[n, n],相当于用y_hat的每一个元素分别减去y的所有元素,所以无法得到正确的损失值。对于第一个选项,y_hat.view(-1)的形状是[n],与y一致,可以相减;对于第二个选项,y.view(-1)的形状仍是[n],所以没有解决问题;对于第三个选项和第四个选项,y.view(y_hat.shape)和y.view(-1, 1)的形状都是[n, 1],与y_hat一致,可以相减。

(3)softmax([100, 101, 102])的结果等于以下的哪一项(C)

softmax([10.0, 10.1, 10.2])
softmax([-100, -101, -102])
softmax([-2 -1, 0])
softmax([1000, 1010, 1020])

softmax
(4)在刚开始训练时,训练数据集上的准确率低于测试数据集上的准确率,原因是:(C)

A:模型参数是在训练集上进行训练的,可能陷入了过拟合(过拟合会造成训练集准确率远比测试集好)
B:训练集的样本容量更大,要提高准确率更难
C:训练集上的准确率是在一个epoch的过程中计算得到的,测试集上的准确率是在一个epoch结束后计算得到的,后者的模型参数更优

欠拟合(高偏差,低方差)与过拟合(低偏差,高方差)的图
欠拟合(高偏差,低方差)与过拟合(低偏差,高方差)

(5)关于激活函数,以下说法中错误的是(B)

A:在多层感知机中引入激活函数的原因是,将多个无激活函数的线性层叠加起来,其表达能力与单个线性层相同
B:tanh可以由sigmoid平移伸缩得到,所以两者没有区别
C:相较于sigmoid和tanh,Relu的主要优势是计算效率高且不会出现梯度消失问题
D:如果我们需要网络输出范围是[0,1][0,1],可以考虑使用sigmoid函数

优点
对比sigmoid和tanh两者导数输出可知,tanh函数的导数比sigmoid函数导数值更大,即梯度变化更快,也就是在训练过程中收敛速度更快。
输出范围为-1到1之间,这样可以使得输出均值为0,这个性质可以提高BP训练的效率,
将线性函数转变为非线性函数
缺点:
幂运算相对来讲比较耗时

文本:

文本预处理
文本是一类序列数据,一篇文章可以看作是字符或单词的序列,本节将介绍文本数据的常见预处理步骤,预处理通常包括四个步骤:

读入文本
分词 (我们对每个句子进行分词,也就是将一个句子划分成若干个词(token),转换为一个词的序列。)
建立字典,将每个词映射到一个唯一的索引(index) (为了方便模型处理,我们需要将字符串转换为数字。因此我们需要先构建一个字典(vocabulary),将每个词映射到一个唯一的索引编号。)
将文本从词的序列转换为索引的序列,方便输入模型(使用字典,我们可以将原文本中的句子从单词序列转换为索引序列)

(6)下列哪一项不是构建Vocab类所必须的步骤:(B)(句子长度统计与构建字典无关)

A:词频统计,清洗低频词
B:句子长度统计
C:构建索引到token的映射
D:构建token到索引的映射

(7)无论use_special_token参数是否为真,都会使用的特殊token是____,作用是用来____。(A)

A:<pad,在小批量中数据不等长时做填充
B: <bos,标记句子的开始
C: <eos,标记句子的结束
D:<unk,表示未登录词

TF-IDF理论

词袋模型
把每篇文章看成一个词袋,忽略单词顺序,每篇文章表示一个长向量,每一维就是一个单词,权重表示这个单词在文章中的重要程度。TF-IDF用来表示权重。
TF-IDF(t,d)=TF(t,d)xIDF(t)
TF(t,d) 表示单词t在文档d中出现的频率,
IDF(t) 表示逆文档频率,衡量单词t对表达语义的重要性程度。
I D F ( t ) = l o g 文 章 总 数 包 含 单 词 t 的 文 章 总 数 + 1   IDF(t)=log\frac{文章总数}{包含单词t的文章总数+1}\ IDF(t)=logt+1 
如果t在多篇文章中均有出现,那么他对于区分文章语义贡献较小,因此权重需要做一定的惩罚。
N-gram模型
将连续出现的n个单词组成的词组(N-gram)作为一个单独的特征放到向量表示中的模型。

词嵌入

词嵌入是一类将词向量化的模型的统称,核心思想是把每个词都映射到低维空间上的一个稠密向量。K维空间的每一维可以看作一个隐含的主题。
词嵌入将每个词映射成一个K维向量,一篇文章N个词,可以用NxK维的矩阵表示这篇文章。
Word2Vec
Word2Vec&Doc2Vec总结 - Magician的博客 .
Word2Vec是一种浅层的神经网络模型,有两种网络结构。分别是CBOW和Skip-gram。
CBOW的目标是根据上下文出现的词语预测当前词出现的概率。Skip-gram是根据当前词预测上下文中各词的生成概率。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
【1】项目代码完整且功能都验证ok,确保稳定可靠运行后才上传。欢迎下载使用!在使用过程中,如有问题或建议,请及时私信沟通,帮助解答。 【2】项目主要针对各个计算机相关专业,包括计科、信息安全、数据科学与大数据技术、人工智能、通信、物联网等领域的在校学生、专业教师或企业员工使用。 【3】项目具有较高的学习借鉴价值,不仅适用于小白学习入门进阶。也可作为毕设项目、课程设计、大作业、初期项目立项演示等。 【4】如果基础还行,或热爱钻研,可基于此项目进行二次开发,DIY其他不同功能,欢迎交流学习。 【注意】 项目下载解压后,项目名字和项目路径不要用中文,否则可能会出现解析不了的错误,建议解压重命名为英文名字后再运行!有问题私信沟通,祝顺利! 基于C语言实现智能决策的人机跳棋对战系统源码+报告+详细说明.zip基于C语言实现智能决策的人机跳棋对战系统源码+报告+详细说明.zip基于C语言实现智能决策的人机跳棋对战系统源码+报告+详细说明.zip基于C语言实现智能决策的人机跳棋对战系统源码+报告+详细说明.zip基于C语言实现智能决策的人机跳棋对战系统源码+报告+详细说明.zip基于C语言实现智能决策的人机跳棋对战系统源码+报告+详细说明.zip基于C语言实现智能决策的人机跳棋对战系统源码+报告+详细说明.zip基于C语言实现智能决策的人机跳棋对战系统源码+报告+详细说明.zip基于C语言实现智能决策的人机跳棋对战系统源码+报告+详细说明.zip基于C语言实现智能决策的人机跳棋对战系统源码+报告+详细说明.zip基于C语言实现智能决策的人机跳棋对战系统源码+报告+详细说明.zip基于C语言实现智能决策的人机跳棋对战系统源码+报告+详细说明.zip基于C语言实现智能决策的人机跳棋对战系统源码+报告+详细说明.zip
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值