在概率论中,称ω(为方便,python示例代码写作w)为基本事件或样本。例如在抛硬币实验中,称ω1为“正面朝上”,称ω2为“背面朝上”,则可以表示为如下python代码:
w1 = "正面朝上"
w2 = "背面朝上"
称Ω为样本空间(为方便,python示例代码写作Omega),则可有如下python表述:
# 样本空间
Omega = (w1, w2)
所谓空间,就是一堆样本的集合。这里python的元祖定义稍微跟数学上的空间定义有些偏差(例如python的元祖是可以通过下标进行映射的,而数学上的空间就没有此过程,定义仅仅是包含样本的关系,具体下标和映射没有定义),但大体意思相同。
称A为事件。注意事件跟样本的区别,事件可以是“正面朝上”、“背面朝上”,也可以是样本的组合,例如“正面朝上与背面朝上同时发生”
A1 = (w1)
A2 = (w2)
A3 = (w1, w2) # “正面朝上与背面朝上同时发生”
A4 = () # “正面与背面都不朝上”
称F为事件的全体
# 事件的全体
F = (A1, A2, A3, A4)
称P(A)为事件的概率:
def P(A):
if A == A1 or A == A2:
return 0.5
else:
return 0
三元组(Ω,F,P)构成概率空间
# 概率空间
probability_space = (Omega, F, P)
有这个元祖后就能去查这个元祖里面的数据,导出任何想要的事件、样本的概率结果。可以简单的理解为“有数据”了。
随机变量ξ(为方便,python中写作xi,发音:英 /ksaɪ; gzaɪ; saɪ; zaɪ/)
import random
xi = random.random()
我们看到很多教材有这样的表述:
此时的ξ已经经过映射,把0~0.5的范围映射成了0,而0.5~1的范围映射成了1:
import random
xi = random.random()
if 0<= xi < 0.5:
xi = 0
else:
xi = 1
当作协方差运算的时候,选定某个随机变量后的与
之间的位置关系是确定的。不确定的只是
。假设
是不确定的,
也是不确定的,两者没有关联,那当然不存在任何相关的关系(例如每次随机抽取,
取到3,而
可能取到5也可能取到-5)。所以实际上说某两个随机变量呈现正相关或者负相关,是有这样的程序内涵在里边的,如下python代码:
import random
xi = random.random()
def X1(xi_in):
x1_list = [1, 2, 3, 4, 5, 6, 7, 8]
return x1_list[xi_in]
def X2(xi_in):
x2_list = [10, 20, 30, 40, 50, 60, 70, 80]
return x2_list[xi_in]
print X1(xi), X2(xi)
从程序中我们可以看到,每次取X1和X2的时候,都是输入同样的随机数xi,只要xi一样,那么从X1或X2函数中的list中取的序号就一样,相同序号的数如果有正相关,那么这两个随机变量就是正相关关系。
为什么信息熵要定义成-Σp*log(p)?
第一,假设存在一个随机变量,可以问一下自己当我们观测到该随机变量的一个样本时,我们可以接受到多少信息量呢?毫无疑问,当我们被告知一个极不可能发生的事情发生了,那我们就接收到了更多的信息;而当我们观测到一个非常常见的事情发生了,那么我们就接收到了相对较少的信息量。因此信息的量度应该依赖于概率分布,所以说熵的定义应该是概率的单调函数。
第二,假设两个随机变量和是相互独立的,那么分别观测两个变量得到的信息量应该和同时观测两个变量的信息量是相同的,即:。而从概率上来讲,两个独立随机变量就意味着,所以此处可以得出结论熵的定义应该是概率的函数。因此一个随机变量的熵可以使用如下定义:
此处的负号仅仅是用来保证熵(即信息量)是正数或者为零。而函数基的选择是任意的(信息论中基常常选择为2,因此信息的单位为比特bits;而机器学习中基常常选择为自然常数,因此单位常常被称为nats)。最后,我们用熵来评价整个随机变量平均的信息量,而平均最好的量度就是随机变量的期望,即熵的定义如下:
总的来说,题主给出的定义符合第一点(单调性),但是不符合第二点。
以上内容参考自Bishop 的著作《Pattern Recognition and Machine Learning》
作者:西贝
链接:https://www.zhihu.com/question/30828247/answer/64816509
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。