【第二次作业】深度学习和pytorch基础

【第二次作业】深度学习和pytorch基础

1、视频学习

心得

对于人工智能,我是比较陌生的。通过绪论的学习,我弄清楚了人工智能、机器学习与深度学习的关系。在相当长的一段时间里,对人工智能的了解只是感性认识,总是把三者混为一谈。由绪论了解到,深度学习的概念以及它的发展史。通过深度学习概述的学习,我知道深度学习是机器学习的一个重要分支,在自然语言处理、语音识别和图像处理等邻域应用广泛。浅层神经网络包括生物神经元和MP神经元,类似于生物中的神经递质一般,深度学习中也存在着使神经元继续传递信息的激活函数。并且,在一般情况下,增加深度可以使模型误差变小,但在sigmoid激活函数下,增加深度也会造成梯度消失,使误差无法传播。因此,三层神经网络是发展主流,预训练、新激活函数使深度成为可能。

问题

1、对于万有逼近定理、自编码器等原理理解不透彻,算法问题不理解?

2、对于不同的激活函数,分类的准确率为撒会大有不同?

2、代码练习

pytorch基础练习

与numpy类似,pytorch张量具有GPU支持,通过cuda移至GPU加速运算然而,传统的numpy不支持GPU加速,因此在使用CUDA加速时,无法使用numpy转化和相关方法。

pytorch的基本变量类型和pandas也十分相似,其tensor的使用也十分类似pandas中的ndarray,较为清晰明了。

1、定义数据

矩阵相关操作同理。

 以上为张量在两个维度上的拼接。

 最后绘图

螺旋数据分类

本问题是监督学习中的分类问题

1、首先是线性分类

由于数据的分布是呈螺旋状的,线性分类必然无法准确区分数据

和预估的相同,将螺旋数据当作二分类问题,使用线性模型解决问题是不可靠的,其准确率最高只有0.5.

2、构建两层神经网络分类

和上面的模型区别的是

  • 在两层之间加入ELU激活函数

                                                              

其分类的准确率有了显著提高。

  • 在两层之间加入ReLU激活函数,分类的准确率又有了相对的提高。

如果不使用激活函数,在线性分类中无论迭代多少个epoch,输出都是输入的线性组合,与没有隐藏层效果相当,这种情况就是最原始的感知机。因此引入非线性函数作为激活函数,这让的深层神经网络分类效果就显著了。

posted @ 2021-10-09 20:20  $ilvermonsteЯ  阅读(52)  评论(0)    收藏  举报