💕恭喜本博客浏览量达到两百万,CSDN内容合伙人,CSDN人工智能领域实力新星~
🧡本文章为2021版本迭代更新版本,在结合有效知识的基础上对文章进行合理的增加,使得整个文章时刻顺应时代需要
🧡本专栏将通过系统的深度学习实例,从可解释性的角度对深度学习的原理进行讲解与分析,通过将深度学习知识与Pytorch的高效结合,帮助各位新入门的读者理解深度学习各个模板之间的关系,这些均是在Pytorch上实现的,可以有效的结合当前各位研究生的研究方向,涉及人工智能的各个领域,是经过一年时间打磨的精品专栏!
💜专栏地址:https://blog.csdn.net/qq_39237205/category_12077968.html
正文开始~~~
2.1 条件概率和独立概率
2.1.1 条件概率和独立的定义
如果有事件A和B,在已知B事件发生的条件下,A 事件发生的概率为P(A|B)。
通过定义,一个直观的感受是条件概率描述了依赖性。从反面的角度来说,就是一个事件是否是独立的。
所以我们来考虑这两种情况:
①第一种情况,A事件发生的概率与B事件有关
②第二种情况,A事件发生的概率与B事件无关
2.1.2 A事件发生的概率与B事件有关
如果A事件发生的概率确实依赖于B事件,则当需要计算A事件的概率时,就得考虑B事件。
因此,A事件和B事件同时发生的概率
进一步的,如果用表示B不发生时A发生的概率,则A事件发生的概率可以表示为
这实际上就是在求【边缘概率】。
另一方面,A事件和B事件同时发生的概率可以表示用已知A事件发生时B事件的概率乘以A事件发生的概率,所以有
这就是著名的【贝叶斯公式】
2.1.3 A事件发生的概率与B事件无关
如果A事件发生的概率和B毫无关系,则有
A事件和B事件同时发生的概率则为各自发生概率的乘积
2.1.4 使用大妈的例子说明依赖概率与独立概率
在你学校宿舍楼下,经常有大妈跳舞~~~~~~~~~
在不下雨的好天气里,大妈们考虑到体能问题,只有90%的时候会出现,即P(跳舞|不下雨)=0.9。而遇上雨雪天气,大妈们仍有一颗风雨无阻的心,出现在广场上的概率大概是50%,所以P(跳舞|下雨)=0.5。而你居住的城市里,下雨天出现的概率是40%,即P(下雨)=0.4,如表2-1所示。
2.1.4.1 说明依赖概率
先来计算一下大妈们在雨中舞蹈的概率:P(下雨,跳舞)=P(跳舞|下雨)P(下雨)=0.5X0.4=0.2,也就是说大妈们在雨中坚持舞蹈的景象有20%的情况会出现。
再来算算总体而言,大妈们跳舞的概率:P(跳舞)=P(跳舞|下雨)P(下雨)+P(跳舞|不下雨)P(不下雨)=0.5×0.4+0.9×0.6=0.74,所以大部分时间大妈们都会跳舞的。
接下来再算算,大妈们跳舞的情况下下雨天出现的概率:P(下雨|跳舞)=P(跳舞|下雨)P(下雨)/P(跳舞)=0.5×0.4/0.74=0.27。
虽然这个概率可以计算,,不过注意到这并不代表着因果关系。下雨是影响是否跳舞的因素,而跳舞是不会影响是否下雨的。所以因果关系能推出条件概率,但是条件概率并不代表着因果关系。
2.1.4.2 说明独立概率
当你所在的地方从不下雨,不过有雾霾。面对雾霾和对舞蹈的热爱,大妈们选择了后者,完全不受影响。所以这种情况下跳舞就是个独立事件,如果要计算大妈们在雾霾中舞蹈的概率,只需要P(霾中舞蹈)=P(跳舞)P(雾霾)。
2.2 期望值、方差和协方差
2.2.1 期望值的定义
考虑离散情况,期望值的定义如下:
从定义来看就是变量值和其对应的概率的乘积,在整个定义域上的求和,简单说就是以概率为加权系数的求和。
白话的解释就是在长时重复观测下,实现目标数据的平均值。
2.2.2.1 用大妈的例子来说明方差与标准差
例如,我们观察到跳广场舞大妈们的身高服从一个高斯分布,分布的中心是一米六二,大妈们身高的期望值就是一米六二。那么接下来我们希望知道大妈们的身高差异是否很大,也就是一组数据的离散程度如何,这个时候可以用方差:
方差开方的话就是标准差,都可以用来度量一组结果的离散程度。
通常在计算方差的时候,下面这个公式更常用一些。
方差度量的是单个变量的离散程度,如果是多维变量的话则需要协方差
2.2.2协方差定义
协方差定义如下:
从定义上来看,协方差:度量两个变量离散程度的大小以及相互之间的趋势的一致性。
- 如果两个变量相应的观测每次都相对于期望值的趋势一致[大则同大,小则同小],比方说x大于E(X)时,相应的y也大于E(Y),而x小于E(X)时,y也小于E(Y),那么协方差的值大于0;【为正数】
- 如果x和对应的y每次观测到的相对于期望值的趋势相反,则协方差小于0**【为正数】**
- 如果X和Y并没有趋势上的关联,则协方差会接近0。【为〇】
所以协方差实际上包含了两个变量之间的统计相关性。
2.2.2.1 在实际问题中协方差矩阵定义
在实际问题中,常将协方差表示为一个矩阵,考虑一组变量X1,X2,…,Xn,其协方差矩阵定义如下:
**协方差矩阵能描述方差,以及变量之间的趋势相关性。**但是由于不同维度之间的协方差大小依赖于两个维度方差的大小,所以比较起来并不直接。
故常使用相关系数矩阵来描述描述方差,以及变量之间的趋势相关性,定义如下:
其中,σi和σj分别是两个维度的标准差,也就是协方差矩阵对角元素开方的值,从相关系数矩阵的定义也可知相关系数矩阵的值等效于将数据做了方差归一化之后的协方差矩阵的值。
相对于协方差,相关性系数对趋势是否相同的度量更加一目了然,而且使得不同量级之间的两两趋势相似度可以直接量化比较。
2.2.2.1 举例说明协方差包含的趋势信息
当我们拥有整个广场上广场舞大妈的年龄和跳舞时长的数据,多半会发现这两个数据的协方差以及相关性系数是个负值。因为一般来说年龄越大,体力越差,跳舞时间就会越短。当然也不排除有个别大妈天赋异禀,80多岁了还能蹦跶全场,不过总体而言这个年龄和跳舞时长的相反趋势是靠谱的。
那么年龄和跳舞时长的协方差绝对值的大小呢?这个取决于参加广场舞的大妈们的年龄段。如果有限制,只允许50~60岁的大妈参加,那么也许60岁的大妈跳半小时累了,50岁的大妈则能多跳到一个小时:再考虑另一种情况,不限年龄,也许有的十几岁小姑娘也凑热闹,跳了5个小时直到半夜。90岁的老奶奶也来锻炼,5分钟就歇了。那么后者的协方差绝对值显然大于前者。
协方差的值为正值说明两者是正相关的,若为负值就说明负相关的,若为0,也是就是统计上说的“相互独立”。
2.2.3 图像化解释正相关、负相关、无关之间的关系
在概率论中,两个随机变量 X 与 Y 之间相互关系,大致有下列3种情况:
当 X, Y的联合分布如下图所示,可以看出大致上有: X 越大Y 也越大,X 越小Y也越小,这种情况,我们称为“正相关”。
当X, Y 的联合分布如下所示,可以看出大致上有:X 越大Y 反而越小,X 越小 Y 反而越大,这种情况,我们称为“负相关”。
当X, Y 的联合分布如下所示,可以看出:既不是X 越大Y 也越大,也不是 X 越大 Y 反而越小,这种情况我们称为“ 不相关”。
怎样将这3种相关情况,用一个简单的数字表达出来呢?
在图中的区域(1)中,有 X>EX ,Y-EY>0 ,所以E(X-EX)(Y-EY)>0;
在图中的区域(2)中,有 X<EX ,Y-EY>0 ,所以E(X-EX)(Y-EY)<0;
在图中的区域(3)中,有 X<EX ,Y-EY<0 ,所以E(X-EX)(Y-EY)>0;
在图中的区域(4)中,有 X>EX ,Y-EY<0 ,所以(EX-EX)(Y-EY)<0;
当X与Y正相关时,它们的(联合)分布大部分在区域(1)和(3)中,小部分在区域(2)和(4)中,所以平均来说,有E(X-EX)(Y-EY)>0
当X与Y负相关时,它们的(联合)分布大部分在区域(2)和(4)中,小部分在区域(1)和(3)中,所以平均来说,有E(X-EX)(Y-EY)<0
当X与Y不相关时,它们的(联合)分布在区域(1)和(3)中与在区域(2)和(4)中几乎是一样多,所以平均来说,有E(X-EX)(Y-EY)=0
2.3 熵
2.3.1 熵的定义
熵用来衡量一个分布的无序程度。
2.3.1.1 机器学习角度理解概率和信息论中熵的定义
从机器学习角度来看概率和信息论中熵的定义:
配合一个简单的二值例子来理解一下,如图a所示,想象箭头是一些小磁针,只能指向上和下两个方向。小磁针向上的概率Pup。
假设在没有任何外界场影响的情况下,小磁针的指向随机,也就是说向上和向下的概率相等,都是0.5,向上的概率记作Pup,这时候磁针的指向完全随机没有规律性,是最混乱无序的情况,把Pup=0.5,Pdown=1-Pup=0.5带入公式2-24,得到熵的值为-(0.5×log2(0.5)+0.5×log2(0.5))=1。
如果有一个外界的场作用在这些磁针上,场的强度刚好让磁针有0.9的概率指向上方,也就是Pup=0.9,Pdown=1-Pup=0.1,同样带入公式2-24,熵的值为-(0.9×log2(0.9)+0.1×log2(0.1))=0.47。
此时观察到的磁针的有序程度变高了,熵变小了。
再考虑更极端的情况,如果一个很强的场加到了磁针上,导致Pup→1,这时候小磁针基本上都是向上了,有序程度最高。因为log2(0)=-∞,所以我们计算出:
总而言之,无序程度越高,熵越大。将小磁针向上的概率从0到1对应的熵画出来,如图b所示,熵在最混乱的时候,也就是Pup=Pdown=0.5时达到最大。
2.3.2 熵和平均编码长度的关系
信息论中,熵代表着根据信息的概率分布对信息编码所需要的最短平均编码长度。
2.3.2.1 举例说明:熵代表着根据信息的概率分布对信息编码所需要的最短平均编码长度
假设有个传送选择题答案的团伙,需要连续不断地向外传递4选1单选题的答案。直接传递ABCD的ASCII码的话, 每个答案需要8个位(bit) 的二进制编码,从传输的角度,这显然有些浪费。
信息论最初要解决的是数据压缩和传输的问题, 所以这个团伙希望能用更少的bit编码来传输答案。很简单, 答案只有4种可能性,所以二进制编码需要的长度就是取2为底的对数:
2个bit就足够进行4个答案的编码了(00, 01, 10, 11) 。
在上面这个例子中, 其实隐含了一种假设,就是4个答案出现概率是相等的,均为p=1/4,所以编码需要长度的计算可以理解为如下的形式:
此时已经有些像熵的定义了。回顾一下熵的定义,正是-log2§的期望值,所以我们把这个思路也套用一下:
这正是熵,因为ABCD出现的概率均为p=1/4,所以上面式子算出来结果刚好是2。从这个角度,熵就是对每个可能性编码需要长度的期望值。
答案出现概率相等的例子可能并不贴近实际,有人认为“不知道选什么的时候就选C”,这个信息是可以帮助这个团队改善编码长度的。
假设A出现的概率不变仍为1/4,C出现的概率变成了1/2,B和D则分别是1/8:P(A)=1/4,P(B)=1/8,P©=1/2,P(D)=1/8。
在这种情况下,考虑到传递选择题答案的过程中,C出现的次数(概率)最高,所以可以为C用短一些的编码,而出现次数较少的B和D则可以考虑用长一些的编码。这样的话,平均下来,对于一定的信息总量,需要的编码总长度就会少一些。
根据熵的定义的思路,对于出现概率为p的事件, 考虑用长度为-log 2§ 的二进制进行编码。所以考虑如表2-2所示的编码
下面对照熵的公式来计算一下编码长度的期望值,也就是平均编码长度:
这个编码长度比2还小,并且不是整数。
再详细点理解一下,假设这个团伙要传递200个答案。为了方便说明,这200个答案中ABCD出现的次数恰好和其出现概率成比例,也就是A50次,B25次,C100次,D25次。所以传递200个答案一共需要的bit数是:
那么平均下来就是每个答案耗费了350/200=1.75个bit编码长度。
2.3.3 平均编码长度概念的拓展
在实际情况中,并不是每个信息都可以单纯按照上面的两个例子进行二进制编码。
比如一个事件出现概率为0.3,那么我们并不知道该如何用一个-log(0.3)=1.74个bit的二进制编码表示。但是平均编码长度的概念是可以拓展的,代表了对随机变量的平均不确定度的度量。比如ABCD这4个答案出现概率相等时,是一种最无序最不确定的状态,谁也蒙不准下一个答案是什么。
但是如果C出现概率高了,那么答案就显得不是那么没规律,考试者选C时的信心就高了一些。回到小磁针的例子上,当向上向下概率均为0.5时,小磁针指向的不确定度最高,如果要传递的信息至少需要1位编码,当向上概率逼近1时,如果很确定小磁针的指向,那还需要编码吗?