第二周博客作业

第一部分

总结:

通过两节视频学习,自己首先对于机器学习、深度学习等有了大体上的系统了解。除此之外,还学习认识到了深度学习的“能”与“不能”,尽管深度学习尚还存有稳定性差、可调式性差、参数不透明、机器偏见等一系列问题,但它在现在的很多领域都是最领先且发挥着巨大作用的。而关于深度学习,从生物神经元,到多层感知器,以及万有逼近定理、梯度消失等,深度学习所包含的知识其实是十分庞大且深奥的,它是一个很大的课题,绝不是用一两天的功夫就能掌握的。

关于两节课的视频学习,记了很多笔记,但毕竟是初次基础学习,对于很多概念性的定义、名词等只是书面化的认知,希望在以后的学习中能加强理解,尽量掌握。

问题:

1.梯度和梯度下降部分,其实有点没太听懂,呜呜呜,

2.以及神经网络的参数学习,误差反向传播,还是没太搞懂它的作用?以及怎样应用?

第二部分

李晓庆

2.1 pytorch基础练习

一般定义数据使用torch.Tensor , tensor的意思是张量,是数字各种形式的总称 Tensor支持各种各样类型的数据,包括:

torch.float32, torch.float64, torch.float16, torch.uint8, torch.int8, torch.int16, torch.int32, torch.int64 等

创建Tensor有多种方法,包括:ones, zeros, eye, arange, linspace, rand, randn, normal, uniform, randperm, 使用的时候可以在线搜

以下是代码练习的部分截图:

 

 

在进行此处以及下一步的矩阵乘法的操作时,因为默认v是long型的,就导致程序报错,可以将v的类型自行定义为float型,就可解决此问题。此处,有多种定义类型的方法语句,比如v=torch.FloatTensor(4)等

修改后,就可正常运行:

 

 

 

 

 

2.2 螺旋数据分类,用神经网络实现简单数据分类

部分截图:

在 python 中,调用 zeros 类似的函数,第一个参数是 y方向的,即矩阵的行;第二个参数是 x方向的,即矩阵的列,根据公式计算出三类样本(可以构成螺旋形)

 

  1. 构建线性模型分类,每一次反向传播前,梯度清零

    线性模型的准确率最高只能达到 50% 左右,对于这样复杂的一个数据分布,线性模型难以实现准确分类

 

  1. 构建两层神经网络分类

    在两层神经网络里加入 ReLU 激活函数以后,分类的准确率得到了显著提高

 

posted @ 2020-10-18 14:33  梦雨细细  阅读(36)  评论(0)    收藏  举报