第一章 统计机器学习
第一章主要介绍了机器学习的分类:监督学习,非监督学习,强化学习。然后介绍了监督学习的三大主要任务:回归,分类,排序,以及非监督学习的聚类。最后稍稍介绍了一下机器学习中的其它技术:集成学习,张量学习,在线学习,迁移学习,度量学习。
当然这些与概率论关系不大,因此笔者在此略过。下面着重记录第二章的阅读笔记。
第二章 随机变量与概率分布
2.1 数学基础
以上是关系事件的运算法则,第一幅图相信读者没有问题,第二幅图两个分配率光看公式很符合直觉,但是要证明的话则需要用到给出的韦恩图,先后看公式两边的式子,在韦恩图中找到对应的区域,很快发现它们确实是相同的,因此这两个分配率得证。
第三幅图德摩根率同样光看公式,很符合直觉。但是证明依旧需要韦恩图,先后看公式两边的式子,在韦恩图中找到对应的区域,很快发现它们确实是相同的,因此这两个公式得证。
2.2 概率的性质
概率描述一个事件发生的可能性,事件A的概率记为。下面介绍概率的三个性质。
- 非负性:
- 归一性:对于整个样本空间 ,有
- 可加性:以及其推论
- 首先,一个事件的概率毫无疑问,肯定是大于等于0,小于等于1的,这个非负性应该无需证明
- 而后,所有可能的事件的概率之和等于1,这点非常符合直觉,也不给出证明
- 最后,对于可加性,笔者一开始看到这个公式就很懵,为什么后面要接一个,很不能理解。实际上,我们可以用韦恩图来证明这个性质。
可以看到的范围是两个圆共同的区域之和,而中重复加了中间的区域,因为A事件与B事件是有重叠的部分的,因此需要减去,因此可加性得证。用数学形式来证明的话,则是
2.3 随机变量与概率分布
- 对于随机变量的定义,书上的描述是,若一个变量每一次的实现都对应一个概率,那么该变量称为随机变量。
- 概率分布是描述一个随机变量的任意实现值与概率的对应关系的函数。
2.3.1 离散型随机变量
下面分情况讨论,若一个随机变量是可数集的元素,则该变量为离散型随机变量有限。注意,可数集不一定都是有限的,也可以是无限的,如所有自然数的集合。
每一个离散型概率分布的值的概率可表示为
这里笔者看了一会,若有所悟。这里是一个值,是出现这个值对应的概率,这里的就是概率分布,是这个值与其出现概率的一一映射函数。
为概率分布函数,满足:
2.3.2 连续性随机变量
若随机变量可取连续的值,即为连续性随机变量,所谓连续,如1到2,如果是离散的,即两个值,1和2.但如果是连续的,中间还有无数个数,1.1,1.1111,1.2之类,此为连续。
连续性随机变量取值为的概率可表示为
为概率密度函数,满足:
这里读者可能稍微有一点困惑,概率与积分有啥关系。其实,对于离散型随机变量,求在某范围的概率确实是直接求和,这很符合直觉。但是在连续型随机变量里同样如此,因为积分就是求和丫,对[a,b]的每个值都取并求和,这就是落在[a,b]的概率
同时,根据上述式子,连续型随机变量的值恰为b的概率为0:
这也就是不可能事件的定义
下面介绍累计分布函数,连续型随机变量的值小于或等于的概率为
满足以下性质:
单调递增:若<,则x'
左极限:
右极限:
以上三个性质都很好理解
- 因为,因此的每增加一点,都会带来一点概率的增加。
- 当为时,总的概率自然为0
- 当为时,总的概率自然为1
最后累积分布函数的导数若存在,则为该连续型随便变量对应的概率密度函数:
这一开始笔者也没想通,但后来发现这不就是累积分布函数的定义嘛,累积分布函数把每一个点的加了起来,那求导得到的就是构成累积分布函数的每一个微小的值,因此得证
另一种证明思路则是:这实际上是高树中的变上限函数嘛。至于变上限函数的求导大家都学过,就是将上限代入,并对上限求导
2.4 概率分布的性质
2.4.1 期望、中位数和众数
类似的,关于的函数 的期望定义:
所谓期望,就是以为权的加权平均。如果这样理解,那上述的两组公式应该可以很快搞懂,毕竟很符合直觉。
对于常数,期望算符E满足以下性质:
众数指的是最大值对应的那个,中位数满足以下式子:
2.4.2 方差与标准差
尽管期望是一个很有用的刻画概率分布特征的数据,但不同的概率分布的期望可能相同。因此,引入数据方差来表示概率分布的范围。
在实际应用中,上式展开为
下面对展开式的形式进行证明:
对于常数c,方差算符V满足下列性质:
上述三个性质的证明很简单,就不在此证明了
方差的平方根称为标准差,记作
通常,方差和标准差也分别记作 和
2.4.3 偏度、峰度和矩
在概率统计中,除了期望和方差,诸如偏度和峰度等高次数据也很常用。偏度和峰度分别表示概率分布的不对称性与尖锐性,有如下定义:
- 分母中的和是为了归一化,峰度定义中的-3是为了使正态分布的峰度为0。
- 若偏度大于0,则右尾长于左尾;当偏度小于0,左尾长于右尾。若偏度为0,则分布完美对称。
- 若峰度大于0,则概率分布比正态分布更尖锐;若峰度小于0,则概率分布比正态分布更钝。
上述讨论意味着数据
对于描述概率分布的特征有重要作用。称 为k阶中心矩。且称
为k阶原点矩。
若期望、方差、偏度和峰度都已确定,那么概率分布会收到一些约束。但作为约束,如果所有阶的矩都确定的话,那么概率分布就唯一确定了。矩量母函数用系统化的方式表示所有阶的矩。
当t等于0时,矩量母函数的k阶导数为k阶原点矩:
下面对当t等于0时,矩量母函数的k阶导数为k阶原点矩进行证明:对进行泰勒展开
等式两边计算期望,得
两边各自求导,得
......
因此,当t为0时,
2.5 随机变量的变换
若随机变量x可变换为
那么r的期望和方差为
令a=,b=-,可得
可知z的期望为0,方差为1。这种从x到z的变换称为标准化。
笔者在月读上面的式子时感觉没问题,既然x减了E[x],它的期望自然为0,除了D[x],方差自然为1,这很符合直觉,但是我不知道为什么会这样,下面给出证明:
由以上证明E[z]=0,得
因此上式得证
假设有随机变量x,它的概率密度函数定义在上,x可由变换得到
然而x的概率密度函数不是这么简单,因的积分通常不为1。例如,一个人的身高x(cm),换算为r(m),那需要除以100后,它的积分才为1。
因此考虑更一般的情况,若雅可比量不为0,那么通过乘以雅可比量的绝对值可以调整比例
对任意的变换,的积分为1。
因此
下面对上式进行证明:
事实上,对上式进行积分更能看出其变化:
令g为x的概率密度函数
因此上式得证
- 下面给大家介绍一下期望和方差的变换在深度学习中的应用。
- 事实上,随机变量的变换在图像预处理中很常用,经常用来对图像的RGB值进行归一化,以便后续对数据进行运算时保持梯度的平稳,下面给出参考代码
import paddle
import paddle.vision.transforms as transforms
from paddle.io import DataLoader
import matplotlib.pyplot as plt
import numpy as np
dataset=paddle.vision.datasets.Cifar10(mode="train",transform=transforms.Compose([transforms.Transpose((2,0,1)),
transforms.Normalize(0., 255.)]))
#此处对图像进行归一化,先减去0.,再除以255.,便可将图像的RGB值缩小至0~1
data_set=paddle.zeros([50000,3,32,32])
for i in range(len(dataset)):
data,label=dataset[I]
data=paddle.to_tensor(np.array(data),dtype="float32")
data_set[i,:,:,:]=data
print(data_set.shape)
print(data_set[0])
def show_imgs(imgs):
#imgs是一个列表,列表里是多个tensor对象
#定义总的方框的大小
plt.figure(figsize=(3*len(imgs),3), dpi=80)
for i in range(len(imgs)):
#定义小方框
plt.subplot(1, len(imgs), i + 1)
#matplotlib库只能识别numpy类型的数据,tensor无法识别
imgs[i]=imgs[i].numpy()
#展示取出的数据
plt.imshow(imgs[i][0])
#设置坐标轴
plt.xticks([])
plt.yticks([])
show_imgs([data_set[0],data_set[1],data_set[2]])