机器学习相关的数学概念的学习记录【不定时持续更新】

参考:

维基百科, CSDN, 知乎, torch文档, 简书 …

矩阵运算

矩阵乘法:

1. 内积(点积):

在这里插入图片描述

2. 外积:

在这里插入图片描述

3. 普通乘积(Matrix multiplication):

在这里插入图片描述
在这里插入图片描述

4. 哈达玛积(Hadamard Product):

矩阵中对应位置上的元素相乘。

在这里插入图片描述

5. 克罗内克积(Kronecker Product):

矩阵A的每个元素都与整个矩阵B做乘法。


在这里插入图片描述

矩阵加减法:

对应位置上的元素相加减(两个矩阵的形状要一样)。
在这里插入图片描述

Pytorch 中的矩阵运算

矩阵乘法:

1. torch.bmm(input, mat2, *, out=None)

带批量的矩阵乘积,inputmat2 必须都是 3D tensor。

# 来自:https://pytorch.org/docs/stable/generated/torch.bmm.html
input = torch.randn(10, 3, 4)
mat2 = torch.randn(10, 4, 5)
res = torch.bmm(input, mat2)
res.size()  ## torch.Size([10, 3, 5])

2. torch.mul(input, other, *, out=None)

矩阵的普通乘法,支持广播机制。

矩阵加法:

1. torch.einsum(equation, *operands)

参考:https://zhuanlan.zhihu.com/p/434232512
根据爱因斯坦求和约定,按照指定的维度对输入操作数的元素乘积求和。

# 来自:https://pytorch.org/docs/stable/generated/torch.einsum.html
As = torch.randn(3, 2, 5)
Bs = torch.randn(3, 5, 4)
torch.einsum('bij,bjk->bik', As, Bs)
 ##########
 #  As.shape=[3,2,5] -- [b,i,j]
 #  Bs.shape=[3,5,4] -- [b,j,k]
 # 'bij,bjk -> bik' = [3,2,4]
 ##########

矩阵相关:

单位矩阵(identity matrices):

n阶单位矩阵是一个 nxn 的方阵,对角线上元素为1,其余为0.
在这里插入图片描述

对角矩阵(diagonal matrix):

除对角线上的元素之外,其他元素都为0.
在这里插入图片描述

对称矩阵(symmetric matrix):

对称矩阵中的右上至左下方向元素以主对角线(左上至右下)为轴进行对称。
在这里插入图片描述

矩阵的迹(trace):

一个 nxn 的矩阵中,主对角线(从左上方至右下方的对角线)上各个元素的总和,记为 tr(A) 或 Sp(A)。
在这里插入图片描述

范数(norm):

范数是对矩阵的一种度量方式。
公式:
在这里插入图片描述
范数有多种,L0范数,L1范数,L2范数等。
L0 范数 (p=0),表示 x 中非0元素的个数;
L1范数 (p=1),表示所有元素绝对值之和;
L2范数 (p=2),表示向量或矩阵的元素平方和然后开根号;【机器学习中经常会使用L2范数,所以L2范数经常简化为 ||x||,省略下标2】
详见:https://blog.csdn.net/qq_42138662/article/details/109258028

线性相关性和秩:

线性相关性:
一组向量中(x1,x2, …, xn),如果一个向量可以表示为其余向量的线性组合,则称该向量是线性相关的;反之,则是线性无关的。
比如:x1 = [1, 2, 3]; x2 = [4, 1, 5]; x3 = [2, -3, -1]; 因为x3 = -2*x1+x2,所以x1, x2, x3 是线性相关的。


秩:
列秩(或行秩):矩阵中线性无关列(或行)的数量。
关于矩阵秩的计算可参考:https://blog.csdn.net/edward_zcl/article/details/90177159

矩阵的逆:

两个 n 阶方阵 A 和 B,如果 AB = BA = E (E为单位矩阵),那么A和B互为逆矩阵。

正交矩阵:

如果 AA.T = E(A为n阶方阵,A.T是A的转置矩阵,E为单位矩阵),那么A称为正交矩阵。

行列式:

行列式是一个在方阵上计算得到的标量,它等于平行的主对角线元素相乘之和,减去平行的副对角线相乘之和。
(如图所示,红色部分减去蓝色部分)
在这里插入图片描述

导数:

偏导数:

多元函数有多个自变量,在对多元函数求导时,只保留其中一个自变量,并将其他的自变量视为常量,再用一元函数求导的方法求出被保留的自变量对于多元函数的导数。

方向导数:

详情见:https://www.zhihu.com/question/36301367

概率论:

随机变量 (random variable):

随机变量可以是离散的或者连续的,离散型变量的概率分布可以用概率质量函数 (probability mass function, PMF) 来描述;连续型变量可以用概率密度函数 (probability density function, PDF)来描述。

联合概率分布 (joint probability distribution):

多个变量的概率分布被称为联合概率分布。比如 P(X=x, Y=y) 表示X=x和Y=y同时发生的概率,可简写为 P(x,y)。

边缘概率分布 (marginal probability distribution):

一组变量的联合概率分布中,某一个子集的概率分布称为 边缘概率分布。

条件概率:

某个事件在特定条件下发生的概率。
事件之间可能是独立的 (比如:随机有放回取球),也可能是相关的 (随机无放回取球)。

信息论:

信息论的研究对象是信息,信息的作用是用来消除事件的不确定性。

信息熵:

在这里插入图片描述
P(x) 是事件x发生的概率。
当事件的不确定性越大时,信息熵也就越大(需要弄清一件不确定性很大的事件时,需要的信息量也就越大)。

条件熵:

在这里插入图片描述

条件熵:间接作用于事件,并且可以消除事件的不确定性的相关信息。
已知 x和y 的联合概率 P(x,y),y在x条件下发生的概率 P(x|y),由此计算出Y条件下事件X的条件熵 H(X|Y)。

互信息 (mutual information):

量化相关信息之间的相关性(量化两个随机事件之间的相关性)。
假设两个随机事件 X 和 Y是相互独立的,互信息计算公式:在这里插入图片描述
推导可得 I(X; Y) = H(X) - H(X|Y),就是说,互信息就是事件 X 的信息熵减去事件 Y 条件下发生事件 X 的条件熵,即在了解事件 Y 的条件下,对消除事件 X 不确定性所提供的信息量。

相对熵 (relative entropy):

除了互信息外,还可以用相对熵(也称为 KL散度)来衡量相关性。与互信息不同的是,相对熵用来衡量两个取值为正数的函数的相关性,其衡量对象是两个函数。公式:
在这里插入图片描述

交叉熵 (cross entropy):

衡量两个独立概率分布的差异性。公式:
在这里插入图片描述
交叉熵 = 信息熵 + 相对熵(KL散度)
在机器学习中,交叉熵通常用于计算模型的损失:用softmax将神经网络最后一层隐藏层输出结果转化为概率分布,之后使用交叉熵损失来估算模型输出的概率分布于真实概率之间的“距离”,即常说的损失。

常见的激活函数:

sigmoid:

在这里插入图片描述

tanh

在这里插入图片描述

relu

在这里插入图片描述

leaky relu

在这里插入图片描述

softmax:

在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值