动手学深度学习Pytorch Task01

深度学习目前以及未来都有良好的发展前景。正值疫情期间,报名参加了动手学深度学习pytorch版的公开课,希望在以后的学习生活中能够灵活运用学到的这些知识。

第一次课主要包含三个部分:线性回归、softmax与分类模型、多层感知机,这些内容主要是对深度学习有一个入门的了解,比较简单,简要概述一下,具体pytorch的编程内容以后再写。

线性回归

以房屋价格和房屋面积和房龄为例,线性回归的基本模型可表示为
在这里插入图片描述
损失函数用来衡量预测值和真实值的误差,常用的是均方误差函数,具体如下:
在这里插入图片描述
得到损失函数后,我们希望损失函数达到最小值,采用的方法第一种是正规方程法,简单来说这种方法就是对函数进行求导,推导过程不祥述,这种方法不是很推荐。另一种也是最广泛使用的方法为梯度下降法,梯度下降法的意思是函数在当前点沿着减小最快的方向前进,梯度下降法的种类繁多,SGD、Adam、RMSprop等,这些方法的核心思想相同,但有着不同的迭代方式,具体的使用要针对不同情况。

Softmax与分类模型

这节主要讲了Softmax算法和交叉熵损失函数的概念。

Softmax算法

在多分类问题中,一方面,由于输出层的输出值的范围不确定,我们难以直观上判断这些值的意义。另一方面,由于真实标签是离散值,这些离散值与不确定范围的输出值之间的误差难以衡量,所以我们使用Softmax算法进行多类别分类,假设算法输出三个类别,具体公式如下:
在这里插入图片描述

交叉熵损失函数

在之前计算损失函数时使用的是均方误差函数,这种方法在处理回归问题时比较好用,但在分类问题中,很难用这种函数计算出想要的误差值,为此提出了交叉熵损失函数:
在这里插入图片描述

多层感知机

多层感知机的本质就是含有隐藏层的神经网络,下图即为多层感知机的例子,隐藏层包含5个隐藏单元,
在这里插入图片描述
对多层感知机的计算方法与神经网络算法并无差别,主要步骤包括:
(1)随机初始化权重w和偏置b
(2)前向传播计算预测值
(3)计算损失函数并使用梯度下降法进行优化得到最有的w和b。

课后题难点分析

课后题错了一道编程题,看来编程方面还是要多加练习。
在这里插入图片描述
y.view(a,b)的作用是将y的维度变成a*b, 当a或b为-1时自动判断,当只有一个参数是维度变为一维
y_hat的shape是[10,1];y的shape是[10],也就是一维,y_hat的大小和y是不一样的,所以b选项有问题

至此,第一部分内容就结束了,下一部分是NLP基础。

发布了1 篇原创文章 · 获赞 0 · 访问量 30

猜你喜欢

转载自blog.csdn.net/weixin_45325331/article/details/104295148