深度学习–数学基础(1)

*2021-04-21 22:56
在学习深度学习之前,需具备良好的数学基础,主要包括线性代数、微积分、概率论三个数学分支。

目录

    • 深度学习--数学基础(1)
  • 1.数据表示--标量、向量、矩阵、张量
  • 2. 张量的常见操作
  • 3. 张量的基本操作(基于PyTorch)
    • (1)初始化一个张量
    • (2)arange,range,linspace的使用
    • (3)张量基本运算操作
  • 4.小结

1.数据表示–标量、向量、矩阵、张量

 (1)标量(scalar):标量就是一个简单的只有大小、没有方向的数字。在计算机专业技术中,标量可以通过一个固定类型的变量来表示。
 (2)向量(vector):向量就是一列数,是由一组数组组成的有序数组,同时具有大小和方向,通过一个次序索引,我们可以确定每个单独的数。下面就是一个行向量: x=[x1, x2, …, xn]。
 (3)矩阵(matrix):矩阵是一个二维数组,其中每个元素可以被两个索引所确定,aij表示矩阵A中第i行,第j列。
 (4)张量(tensor):在深度学习中,主要讨论的坐标往往是超过两维的数组。一般地,如果一个数组中的元素分布在若干维坐标的规则网格中,我们将其称为张量。张量通过对应维度个数的索引来确定张量内部的值。

2. 张量的常见操作

 在深度学习中,我们将待处理的数据规范化为特定维度的张量。例如,不进行批处理时,有如下的对应关系:
 (1) 彩色图像可以看成是一个三维张量:图像的三个颜色通道(红、绿、蓝)、图像的高、图像的宽。
 (2)视频可以看成是一个四维张量:视频的时间帧方向、每一帧图像的颜色通道、宽、高。
 (3)三维场景可以看成一个四维张量:场景中每一点的信息编码轴、场景的高、场景的长、场景的宽。
  对不同的张量有不同的运算方式,但是下面这几个操作是常用的:索引(indexing)切片(slicing)连接(joining)换位(mutating)

3. 张量的基本操作(基于PyTorch)

(1)初始化一个张量

import torch
x = torch.rand(5,3)   #生成一个随机的5×3的张量x
print(x)
print(x.size())   #输出张量x的大小

输出结果为:

(2)arange,range,linspace的使用

torch.arange(start, end, step)返回一个以start为首项, 以end为尾项,以step为公差的等差数列。不包含end。

print(torch.arange(1,21,2))

运行结果:

torch.range(start, end, step)
返回一个以start为首项, 以end为尾项,以step为公差的等差数列。但是包含end。

print(torch.range(1, 21, 2))

运行结果:


torch.linspace(start, end, steps)
返回一个以start为首项, 以end为尾项,返回一个1维张量,包含在区间start和end上均匀间隔的step个点。

print(torch.linspace(1,15,5))

运行结果:

(3)张量基本运算操作

x = torch.rand(3,2)
y = torch.rand(3,2)
print(x)
print(y)
print(x+y)
print(torch.add(x,y))
print(y.add_(x))
print(y)

运行结果:

tensor([[0.2059, 0.0645],[0.0310, 0.3479],[0.6152, 0.1724]])
tensor([[0.0874, 0.5010],[0.6648, 0.1793],[0.9541, 0.7467]])
tensor([[0.2933, 0.5654],[0.6958, 0.5271],[1.5693, 0.9191]])
tensor([[0.2933, 0.5654],[0.6958, 0.5271],[1.5693, 0.9191]])
tensor([[0.2933, 0.5654],[0.6958, 0.5271],[1.5693, 0.9191]])
tensor([[0.2933, 0.5654],[0.6958, 0.5271],[1.5693, 0.9191]])Process finished with exit code 0
a = torch.rand(3,2)
print(a)
print(a[:,1])   #支持索引操作,取第二列
print(a.size())
b=a.view(6)
print(b)
print(b.size())

运行结果:

tensor([[0.6872, 0.8567],[0.0259, 0.6550],[0.8212, 0.6122]])
tensor([0.8567, 0.6550, 0.6122])
torch.Size([3, 2])
tensor([0.6872, 0.8567, 0.0259, 0.6550, 0.8212, 0.6122])
torch.Size([6])

4.小结

  在学习深度学习之前,需要一定的数学基础,其中张量这一概念就十分重要,可以简单的类比成矩阵或者C语言里面的数组概念,方便理解。对张量执行的一系列操作需要从实际问题出发,用到什么就学什么。下一小节将介绍Numpy的使用。

深度学习--数学基础(1)相关推荐

  1. 《速通深度学习数学基础》

    目录 序 前言 第1章 线性代数的基本概念 1.1 向量和深度学习 1.2 向量距离计算 1.3 向量的基本性质 1.4 矩阵的基本概念 1.5 一些特殊的矩阵 第2章 线性代数在深度学习中的应用 2 ...

  2. 【转载】深度学习数学基础(二)~随机梯度下降(Stochastic Gradient Descent, SGD)

    Source: 作者:Evan 链接:https://www.zhihu.com/question/264189719/answer/291167114 来源:知乎 著作权归作者所有.商业转载请联系作 ...

  3. 深度学习数学基础之线性代数

    深度学习中的基本数据结构,基本上都是用向量或矩阵表示的,因此: 深度学习的基础学科之一:就是线性代数. 深度学习中的线性代数知识主要包括以下部分: 1.标量.向量.矩阵和张量: 这4个变量很好理解: ...

  4. 深度学习数学基础——矩阵微分篇

    https://www.toutiao.com/a6641771475994952206/ 2019-01-02 13:45:27 深度学习是一个令人兴奋的领域,具有巨大的现实世界影响力. 本文是Te ...

  5. 深度学习数学基础-概率与信息论

    前言 概率论学科定义 概率与信息论在人工智能领域的应用 3.1,为什么要使用概率论 3.2,随机变量 3.3,概率分布 3.3.1,离散型变量和概率质量函数 3.3.2,连续型变量和概率密度分布函数 ...

  6. 深度学习数学基础(一)~卷积

    前言 我在学习机器学习和图像处理的过程中经常会遇到卷积这个概念,但我每次遇到这个概念都有点不甚了解.于是我在学习了几个博客之后把我理解的做了一个总结,其不足之处敬请指正. 一.卷积的起源 文献来源:- ...

  7. 深度学习数学基础(三): 激活函数、正则化函数、损失函数、评价指标

    目录 1. 激活函数activation function 1.1 Sigmoid 1.2 tanh 1.3 ReLU 1.4 Leaky ReLU 1.5 softmax 1.6 Gelu 2. 归 ...

  8. 深度学习数学基础之激活函数与导数

    ​ ​ 活动地址:CSDN21天学习挑战赛 函数与导数 函数 神经网路最常听到的一个名词就是激活函数,那激活函数是什么呢? 百度百科是这样说的,函数,最早由中国清朝数学家李善兰翻译,出于其著作< ...

  9. 深度学习数学基础 熵?

    信息论-熵 信息熵 信息熵,可以看作是样本集合纯度一种指标,也可以认为是样本集合包含的平均信息量,信息熵越小,蕴含的粗确定性越小 联合熵 两个随机变量X和Y的联合分布可以形成联合熵,度量二维随机变量X ...

最新文章

  1. 【NOIP校内模拟】T2 华莱士(环套树)
  2. 知识图谱还有哪些方向值得深入研究?这 6 篇最新论文给你答案
  3. c语言10个人 三向成绩,C语言入门学习精华:这样学习C语言最有效
  4. Java并发编程之显式锁(Lock)使用
  5. Java学习笔记——面向对象 1
  6. 可道云 docker 群晖_【curl】校园网群晖DS120j自动认证
  7. WordPress模板iDowns1.8.3+支持对接Erphpdown
  8. rgb24转yuv420P
  9. 整理牛人看文献的方法
  10. java线上文件图片资源存储方案,定时清理垃圾文件
  11. 建立基于安全域的涉密信息系统
  12. PCB六层板如何分层最好?
  13. 计算机二级多少人优秀,计算机二级各科通过率是多少
  14. 基于RTMP协议的Flash流媒体网页直播播放器
  15. 资产负债表编制 (by shany shang)
  16. L1-040 最佳情侣身高差 (10分)
  17. JBoss学习和应用
  18. 网络流量监控技术与方法
  19. 高通android开源代码下载,高通平台开源代码下载
  20. ibook备份_在“提示”框中:选择多个壁纸,iBook快速导航和跟踪应用价格

热门文章

  1. 恢复安卓谷歌套件 to replace
  2. “你手上有几个offer?”,该怎么回答?
  3. 链接服务器——获取EXCEL数据
  4. 抓取网页工具querylist的使用简介
  5. Ubuntu / Linux 各种操作指南
  6. 大型民族管弦音乐会《玄奘西行》奏响美国新泽西
  7. 瑞萨78K0/KB2系列单片机upd78F0503A学习心得1
  8. 3D姿态估计(GAST)
  9. 获取 DOM 实际宽度 offsetWidth | 文本宽度 measureText
  10. 各个地区的语言代号及value文件夹命名规范