【第二次作业】深度学习和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激活函数,分类的准确率又有了相对的提高。

浙公网安备 33010602011771号