动手学深度学习v2 课程笔记 — 深度学习基础
参考文章与视频:
一、深度学习介绍
1. AI地图:符号学 —> 统计 —> 机器学习
2. 应用:广告点击的案例
广告排名的三个步骤:(这个和听过的一个讲座一样:社会计算+广告学)
- 触发广告
- 每个广告的点击率预估
- 根据 点击率×竞价 来将广告排序
二、安装环境
1. 本地安装:CPU
首先,安装Anaconda + Juptyer Notebook。
Anaconda是包管理器和环境管理器;Jupyter可以将数据分析的代码、图像和文档全部组合到一个web文档中。
Anaconda安装
其次,使用pip安装库。
pip install torch torchvision d2l
2. GPU
翻墙用colab。
三、数据操作、数据预处理
1. 机器学习和神经网络中的主要数据结构为:n维数组。
- 0维数组:标量。
- 1维数组:向量。
- 2维数组:矩阵。
- 3维数组:图片。
- 4维数组:多张图片。
2. 创建数组
创建数组所需三个东西:形状、每个元素的数据类型、每个元素的值
3. 访问数组元素
4. 使用jupyer notebook 来运行操作数据
首先在命令行输入:jupyter notebook
其次在浏览器中打开:http://localhost:8888/
- 导入torch
- 生成张量Tensor:张量表示一个数值组成的数组,这个数组可能有多个维度。
创建数组:
对数组做算术运算:
张量合并:
5. 数据预处理:将原始数据读取进来,处理为机器学习能够使用的数据
四、线性代数
1. 一些基本概念
矩阵乘法非常重要。
置换矩阵是单位矩阵的延伸版:它是对单位矩阵的行重新排列而成。
2. 实现
B = A,不会重新分配内存。
范数是向量或矩阵的长度。
按特定轴求和:
axis = n,是指在第n维求和。
keepdims = Ture:把求和的那个轴shape变为1。
五、矩阵计算
六、自动求导
1. 向量链式法则
2. 自动求导的原理
3. 自动求导的实现
七、线性回归 + 基础优化算法
1. 线性回归
房价预测问题:预估价、买入价(如果买入价大于预估价,那么就亏了。所以必须要懂房价预测。)
但是数据并没有那么多,所以之后会面临一个问题:训练数据不够多时该怎么办?
神经网络通常是用来解决 NP 难问题,所以通常无显式解。
2. 基础优化算法
当模型没有显式解时,应该怎么办?一个方法是用梯度下降。
随机梯度下降Sgd:随机代表是每次采样是随机的,但是每次训练的批量大小不变。
3. 线性回归的从零开始实现
不使用任何的深度学习框架。从零实现整个方法,包括数据流水线、模型、损失函数和小批量随机梯度下降优化器。
4. 线性回归的简洁实现
使用深度学习框架来实现。
八、Softmax 回归 + 损失函数 + 图片分类数据集
1. Softmax 回归
Softmax 回归 其实是一个分类问题。
Logistic回归是Softmax回归的特例,Logistic回归是二分类问题。(只需算一个概率,另一个可以用1减去它来算)
房价预测问题 是回归问题。
2. 损失函数:衡量预测值和真实值之间的区别(L2 Loss、L1 Loss、Huber’s Robust Loss)
- 均方损失(L2 Loss)
- L1 Loss
- Huber鲁棒损失
另外,这篇文章介绍了三种损失函数,重点阐述了 交叉熵损失函数 的优点。
- 分类错误率
- 均方误差
- 交叉熵损失函数
3. 图片分类数据集:Fashion-MNIST
- 读取数据集:训练集、测试集
mnist_train = torchvision.datasets.FashionMNIST(root="../data",train=True,transform=trans,download=True)
mnist_test = torchvision.datasets.FashionMNIST(root="../data",train=False,transform=trans,download=True)
- 读取小批量:数据迭代器(多线程)
train_iter = data.DataLoader(mnist_train, batch_size, shuffle=True,num_workers=get_dataloader_workers())
4. Softmax回归的从零开始实现
5. Softmax回归的框架实现
动手学深度学习v2 课程笔记 — 深度学习基础相关推荐
- 【动手学深度学习v2李沐】学习笔记07:权重衰退、正则化
前文回顾:模型选择.欠拟合和过拟合 文章目录 一.权重衰退 1.1 硬性限制 1.2 柔性限制(正则化) 1.3 参数更新法则 1.4 总结 二.代码实现 2.1 从零开始实现 2.1.1 人工数据集 ...
- 纽约大学深度学习PyTorch课程笔记(自用)Week3
纽约大学深度学习PyTorch课程笔记Week3 Week 3 3.1 神经网络参数变换可视化及卷积的基本概念 3.1.1 神经网络的可视化 3.1.2 参数变换 一个简单的参数变换:权重共享 超网络 ...
- 纽约大学深度学习PyTorch课程笔记(自用)Week6
纽约大学深度学习PyTorch课程笔记Week6 Week 6 6.1 卷积网络的应用 6.1.1 邮政编码识别器 使用CNN进行识别 6.1.2 人脸检测 一个多尺度人脸检测系统 6.1.3 语义分 ...
- Coursera吴恩达《优化深度神经网络》课程笔记(1)-- 深度学习的实用层面
红色石头的个人网站:redstonewill.com Andrew Ng的深度学习专项课程的第一门课<Neural Networks and Deep Learning>的5份笔记我已经整 ...
- Coursera吴恩达《神经网络与深度学习》课程笔记(3)-- 神经网络基础之Python与向量化
红色石头的个人网站:redstonewill.com 上节课我们主要介绍了逻辑回归,以输出概率的形式来处理二分类问题.我们介绍了逻辑回归的Cost function表达式,并使用梯度下降算法来计算最小 ...
- 纽约大学深度学习PyTorch课程笔记(自用)Week2
纽约大学深度学习PyTorch课程笔记Week2 2. Week2 2.1 梯度下降和反向传播算法导论 2.1.1 梯度下降优化算法 参数化模型 梯度下降 2.1.2 在传统神经网络中随机梯度下降和反 ...
- Coursera吴恩达《优化深度神经网络》课程笔记(3)-- 超参数调试、Batch正则化和编程框架
红色石头的个人网站:redstonewill.com 上节课我们主要介绍了深度神经网络的优化算法.包括对原始数据集进行分割,使用mini-batch gradient descent.然后介绍了指数加 ...
- 【《Redis深度历险》读书笔记(1)】基础:万丈高楼平地起 ——Redis 5种基础数据结构
[时间]2021.11.16 [题目][<Redis深度历险>读书笔记(1)]基础:万丈高楼平地起 --Redis 基础数据结构 本栏目是<Redis深度历险:核心原理和应用实践&g ...
- 完结撒花!吴恩达DeepLearning.ai《深度学习》课程笔记目录总集
作者: 大树先生 博客: http://blog.csdn.net/koala_tree 知乎:https://www.zhihu.com/people/dashuxiansheng GitHub:h ...
- Coursera吴恩达《神经网络与深度学习》课程笔记(1)-- 深度学习概述
红色石头的个人网站:redstonewill.com 吴恩达(Andrew Ng)相信大家都不陌生了.8 月 8 日,吴恩达在他自己创办的在线教育平台 Coursera 上线了他的人工智能专项课程(D ...
最新文章
- synchronized锁的基本用法
- 苹果平板怎么卸载软件_怎么很好的卸载流氓软件!
- 用hibernate类实现数据库的基本操作
- oracle共享池的结构,Oracle 10g内存结构之共享池的相关知识及使用简介
- VS+QT多语言实现(中文乱码问题、tr()包含不生成问题)
- Nginx与Zuul的区别
- 拭血长短句手札【2013-2017】微信公众号 shixuemp
- 返利网的制作思路与原理
- 腾讯轻量云FREEBSD11.1安装panabit cloud
- 列表解析式,生成表达式
- BZOJ 4567: [Scoi2016]背单词
- 天眼查app协议逆向分析
- 如何查看服务器bmc信息,服务器查看bmcip地址
- 学籍管理系统 正式运行
- bash: /home/xxx/anaconda3/bin/conda: No such file or directory
- WPS word表格中的神秘的底色
- leetcode 周赛214 学习笔记(5561、1647)
- win10系统如何关闭服务器,win10命令关闭服务器该怎么操作关闭?
- 云栖科技评论第70期:数字时代需要双螺旋
- mysql—自增长和索引
热门文章
- 区块链 数据交易专利
- vuecli-脚手架,安装使用及目录详解
- 微信公众号模版消息推送
- STM32读写RAM
- mysql数据库字符集实践详解_mysql数据库 详解 之 自学成才1
- 读取和修改JPEG图片文件的头信息EXIF和JFIF
- redisRDB持久化中dir路径配置问题
- Low-Resource Knowledge-Grounded Dialogue Generation_biji
- 【如何删除taskmer.exe进程灰鸽子木马】
- LC.1056. Confusing Number, LC.246. Strobogrammatic Number