【动手学深度学习】预备知识整理-1



前言

学习资料
B站视频地址:
跟李沐学AI
花书-电子书地址
其他资料:鱼书,cs231n
源代码下载地址
习题解答源代码
习题解答在线阅读地址


一、专业术语

中文英文
张量tensor
连结concatenate
按元素elementwise
广播机制broadcasting mechanism
标量scalar
变量variable
分量component
维度dimension
转置transpose
对称矩阵symmetric matrix
通道channel
按元素乘法Hadamard product
点积dot product ⊙ \odot
范数norm
积分integral calculus
微分differential calculus
损失函数loss function
优化optimization
泛化generalization
梯度gradient
自动微分automatic differentiation
计算图computational graph
反向传播backpropagation
智能体agent
事件event
大数定律law of large numbers
抽样sampling
分布distribution
多项分布multinomial distribution
样本空间sample space
概率probability
互斥mutually exclusive
随机变量random variable
离散discrete
连续continuous
密度density
标签label
联合概率joint probability
条件概率conditional probability
乘法法则multiplication rule
求和法则sum rule
边际化marginalization
边际概率marginal probability
边际分布marginal distribution
依赖dependence
独立independence
期望expectation
平均值average
标准差standard deviation
回归regression
预测prediction
线性回归Linear regression
训练数据集/训练集training data set /training set
样本sample
互相关运算cross-correlation
特征映射feature map
感受野receptive field
填充padding
步幅stride
通道channel

二、广播机制

autograd包

该包会自动计算微分
广播机制通过复制自己的行或列进行填充

三、高级python

#class 类
class Man:
    def __init__(self,name):
        self.name=name
        print("Initialized!")
    def hello(self):
        print("Hello"+self.name+"!")
    def goodbye(self):
        print("goodbye"+self.name+"!")
m=Man("xiaoshuai")
m.hello()
m.goodbye()

Numpy

#Numpy库
import numpy as np
#一维数组
x=np.array([1,2,3,4])
print(x)
print(type(x))
print(len(x))
#多维数组
A=np.array([[1,2],[3,4]])
print(A.shape)#查看矩阵的形状
print(A.dtype)#查看矩阵元素的数据类型
print(type(A))
print(A)
X=np.array([[1,2],[3,4],[10,19]])
print(X)
Y=X.flatten()
print(Y)
Y[np.array([0,2,4])]
Y>5
Y[Y>5]

enumerate()

函数用于将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列,同时列出数据和数据下标,一般用在for循环当中。

enumerate(sequence,[start=0])

sequence 一个序列、迭代器或其他支持迭代对象
start 下标起始位置的值

返回enumerate(枚举)对象

zip拉链函数

zip()函数用于将可迭代的对象作为参数,将对象中对应的元素打包成一个元组,然后返回Youyou这些元组组成的列表。
如果各个迭代器的元素个数不一致,则返回列表长度与最短的对象相同,利用*号操作符,可以将元组解压为列表。

zip([iterable, ...])

iterable 一个或多个迭代器
返回值:返回元组列表

四、线性代数

大量文献认为列向量是向量的默认方向

五、范数

norm,在线性代数中,向量范数是将向量映射到标量的函数f。
向量范数的四个性质:
1.如果按照常数因子 α \alpha α缩放向量的所有元素,其范数也会按照相同常数因子的绝对值缩放。
f ( α x ) = ∣ α ∣ f ( x ) (2.3.10) f(\alpha x)=|\alpha|f(x) \tag{2.3.10} f(αx)=αf(x)(2.3.10)
2.三角不等式
f ( x + y ) ≤ f ( x ) + f ( y ) (2.3.11) f(x+y)\le f(x)+f(y) \tag{2.3.11} f(x+y)f(x)+f(y)(2.3.11)3. 范数必须为非负的
f ( x ) ≥ 0 (2.3.12) f(x)\ge 0 \tag{2.3.12} f(x)0(2.3.12)
4.范数最小为0,当且仅当向量全由0组成。
∀ i , [ x ] i = 0 ⟺ f ( x ) = 0 (2.3.13) \forall i,{[x]_i}=0 \Longleftrightarrow f(x)=0 \tag{2.3.13} i,[x]i=0f(x)=0(2.3.13)

L 1 L_1 L1范数
∣ ∣ x ∣ ∣ 1 = ∑ i = 1 n ∣ x i ∣ (2.3.15) {||x||_1}={\sum^{n}_{i=1}|x_i|} \tag{2.3.15} ∣∣x1=i=1nxi(2.3.15)

L 2 L_2 L2范数
∣ ∣ x ∣ ∣ 2 = ∑ i = 1 n x i 2 (2.3.14) {||x||_2}=\sqrt{\sum^{n}_{i=1}x^2_i} \tag{2.3.14} ∣∣x2=i=1nxi2 (2.3.14)
一个标量函数关于向量x的梯度是向量,并且与x具有相同的形状。

六、矢量化加速

矢量化算法是一种在计算机科学和数学领域中常见的概念,它涉及使用向量(一组有序的数值)来执行操作和计算。这种算法的设计旨在利用硬件并行性,提高计算效率。在数据处理和科学计算领域,矢量化算法通常能够显著加快程序的执行速度。

在编程中,矢量化算法通常与支持向量化操作的编程语言和库一起使用。例如,NumPy是Python中一个常用的用于科学计算的库,它支持矢量化操作,允许对整个数组执行操作,而无需显式循环。这样的优化可以提高代码的效率,并降低开发者的工作负担。

总的来说,矢量化算法是一种优化计算方法,通过在向量上执行操作来提高程序的性能。


总结

以上内容是我看完鱼书以及深度学习的预备知识整理,后续继续更新,如有问题或侵权等,请联系我删除。
第一次发布博客,欢迎大家批评指正。

  • 23
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值