首页 > 其他分享 >动手学深度学习笔记01

动手学深度学习笔记01

时间:2023-11-14 16:22:54浏览次数:32  
标签:01 训练 感知机 模型 笔记 动手 拟合 数据 复杂度

安装

https://blog.csdn.net/qq_18620653/article/details/105329219

配置显卡驱动、CUDA、cuDNN以及说明三者之间的关系

https://blog.csdn.net/qq_18620653/article/details/105329219

配置anaconda

https://blog.csdn.net/qq_18620653/article/details/105335481

数据操作和数据预处理

N维数组是机器学习和神经网络的主要数据结构
创建数组需要:

  1. 形状:例如3x4矩阵
  2. 每个元素的数据类型
  3. 每个元素的值,例如全是0,或者随机数

    注:括号左闭右开。第二个意思为每个三个取一个

多层感知机

感知机存在的问题


感知机是一个二分类的模型
它的求解算法等价于使用批量大小为1的梯度下降
它不能拟合XOR函数,导致第一次的AI寒冬

多层感知机总结

  1. 多层感知机使用隐藏层和激活函数来得到非线性模型
  2. 常用激活函数是Sigmoid,Tanh,ReLU
  3. 使用Softmax来处理多类分类
  4. 超参数为隐藏层数,和各个隐藏层的大小

模型选择+过拟合和欠拟合

训练误差和泛化误差

  1. 训练误差:模型在训练数据集上的误差
  2. 泛化误差:模型在新数据集上的误差

验证数据集:一个用来评估模型好坏的数据集(选择模型超参数)

  1. 例如拿出50%的训练数据
  2. 不要和训练数据混在一块(常见错误)

测试数据集:只用一次的数据集
验证数据集(validation dataset), 也叫验证集(validation set)
书中每次实验报告的准确度都是验证集准确度,而不是测试集准确度。
写的test_data其实是验证数据集
K折交叉验证:当训练数据稀缺时,我们甚至可能无法提供足够的数据来构成一个合适的验证集。

过拟合和欠拟合

模型容量:
拟合各种函数的能力
低容量的模型难以拟合训练数据
高容量的模型可以记住所有的训练数据

第二根曲线过于拟合,导致噪音都被拟合住了。二次曲线比较完美



VC维


总结

  1. 模型容量需要匹配数据复杂度,否则会导致欠拟合和过拟合。
  2. 统计机器学习提供数学工具来衡量模型复杂度。
  3. 实际中一般靠观察训练误差和验证误差

权重衰退

权重衰减(weight decay)是最广泛使用的正则化的技术之一, 它通常也被称为L2正则化。

限制w,不让去拟合很复杂的曲线


总结

  1. 权重衰退通过L2正则项使得模型参数不会过大,从而控制模型复杂度
  2. 正则项权重是控制模型复杂度的超参数

丢弃法

一个好的模型需要对输入数据的扰动鲁棒
在数据里加入噪音,等价于一个正则
丢弃法:在层之间加入噪音(隐含丢弃法也是一个正则方法)


总结

  1. 丢弃法将一些输出项随机置0来控制模型的复杂度
  2. 常作用在多层感知机的隐藏层输出上
  3. 丢弃概率是控制模型复杂度的超参数

数据稳定性+模型初始化

产生原因:进行了太多次矩阵乘法


梯度爆炸的问题

  1. 值超出值域(infinity):对于16位浮点数尤其严重(数值区间6e-5 - 6e4)
  2. 对学习率敏感
    如果学习率太大-》大参数值-》更大的梯度
    如果学习率太小-》训练无进展
    我们可能需要在训练过程中不断调整学习率


梯度消失的问题

  1. 梯度值变为0:对16位浮点数尤为严重
  2. 训练没有进展:不管如何选择学习率
  3. 对于底部层尤为严重
    仅仅顶部层训练的较好
    无法让神经网络更深

总结

  1. 当数值过大或者过小时会导致数值问题
    2.常发生在深度模型中,因为其会对n个数累乘。

模型初始化和激活函数

将每层的输出和梯度都看做随机变量,让它们的均值和方差都保持一致。




总结

合理的权重初始值和激活函数的选取可以提升数据稳定性

标签:01,训练,感知机,模型,笔记,动手,拟合,数据,复杂度
From: https://www.cnblogs.com/muyukiko/p/17697561.html

相关文章

  • WebGL_0019:three.js 欧拉角和四元数
    1,这篇说说欧拉角和四元数,欧拉角和四元数的优缺点是老生常谈的话题了,使用条件我就不多说了,我只说一下使用方法。1.欧拉角(Euler)欧拉角描述一个旋转变换,通过指定轴顺序和其各个轴向上的指定旋转角度来旋转一个物体。下面我们开看看它的方法1.set(x:number,y:number,z:......
  • XJTU自动化钱班辅修电气工程专业课笔记合集
    通过百度网盘分享的文件:笔记整理链接:https://pan.baidu.com/s/1BrHQ1EqvlQlbWqpD5h_6Sg?pwd=shsg 提取码:shsg复制这段内容打开「百度网盘APP即可获取」完全为个人原创笔记内容,仅包含少量板书ppt与个别页面他人笔记截图)另有基本所有课程教材pdf版本,不便直接放上来,可以私聊免......
  • 秦疆的Java课程笔记:31 基础 包机制
    为了更好的组织类,Java提供了包机制,用于区别类名的命名空间。包语句的语法格式为:packagepkg1[.pkg2[.pkg3[…]]];一般利用公司域名倒置作为包名比如“百度”的域名“www.baidu.com”对应的包名应该是“com.baidu.www”为了能够使用某一个包的成员,我们需要在Java......
  • 洛谷 P6662 [POI 2019] Przedszkole
    洛谷传送门\(k\)染色问题。给定\(n\)个点\(m\)条边无向图,求有多少种给每个点赋点权\(a_u\in[1,k]\)的方案,使得\(\forall(u,v)\inE,a_u\nea_v\)。Subtask\(1\):\(n\le15\)。考虑因为最终只会用到最多\(n\)种颜色,所以设恰好用了\(t\)种颜色,把\(k\)种颜......
  • 图解密码技术----读书笔记
    第1章环游密码世界术语加密encrypt明文plaintext密文ciphertext解密decrypt密码cryptography密码破译cryptanalysis破译,密码分析破译者cryptanalyst对称密码symmetriccryptography---->机密性公钥密码public-keycryptography<=>非对称密码asymmet......
  • java进阶漏洞学习----log4j漏洞学习笔记
    CVE-2021-44228log4j2漏洞版本范围2.x<version<=2.14.1环境搭建linux的ijideajava版本:JDK1.8u102https://www.oracle.com/cis/java/technologies/javase/javase8-archive-downloads.htmlLOG4J.javaimportorg.apache.logging.log4j.LogManager;importorg.apache.l......
  • 秦疆的Java课程笔记:30 基础 三元运算符及小结
    扩展赋值运算符:+=,-=,*=,/=publicclassDome1{publicstaticvoidmain(String[]args){inta=10;intb=20;a+=b;//相当于a=a+bSystem.out.println("a="+(a));intc=30;intd=15;......
  • GEE数据集——2019、2020、2021、2022和2023年全球固定宽带和移动(蜂窝)网络性能Shapefi
    全球固定宽带和移动(蜂窝)网络性能¶全球固定宽带和移动(蜂窝)网络性能,分配给缩放级别16网络墨卡托图块(赤道处约610.8米x610.8米)。数据以Shapefile格式和ApacheParquet格式提供,其几何形状以众所周知的文本(WKT)表示,投影在EPSG:4326中。下载速度、上传速度和延迟是通过......
  • 同一用户名,远程连接Windows Server 2019 时,如何禁止打开新窗口
    同一用户名,远程连接WindowsServer2019时,如何禁止打开新窗口答:您好!如果您想在远程连接WindowsServer2019时禁止打开新窗口,您可以尝试以下方法:使用组策略编辑器:打开组策略编辑器,可以通过运行"gpedit.msc"命令来打开。导航到"计算机配置">"管理模板">"Windows组件">"远......
  • [HCTF 2018]admin
    参考https://www.cnblogs.com/chenxianz/p/14186348.html师傅的文章,发现此题有多种解法信息收集源码中发现提示不是admin注册账号后在修改密码的页面发现提示1.session伪造在index.html发现要将session与admin的session进行比较,相同则输出flag(这里由于github上源码都已经......