1.2 概率与信息论

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/egbert123/article/details/86367259
import tensorflow as tf
import numpy as np
import scipy.stats as stats
import matplotlib.pyplot as plt 
随机变量
#tf.random_normal(shape,mean=0.0,stddev=1.0,dtype=tf.float32) 
#tf.truncated_normal(shape, mean=0.0, stddev=1.0, dtype=tf.float32) 
#tf.random_uniform(shape,minval=0,maxval=None,dtype=tf.float32)

#这几个都是用于生成随机数tensor的。尺寸是shape 
#random_normal: 正太分布随机数,均值mean,标准差stddev 
#truncated_normal:截断正态分布随机数,均值mean,标准差stddev,不过只保留[mean-2*stddev,mean+2*stddev]范围内的随机数 
#random_uniform:均匀分布随机数,范围为[minval,maxval]

# 生成2*2的矩阵
x=tf.random_normal((2,2))
y=tf.truncated_normal((2,2),stddev=1, mean=0)
z=tf.random_uniform((2,2),-1,1)

with tf.Session() as sess:
    print(sess.run(x))
    print("------------------------------------")
    print(sess.run(y))
    print("------------------------------------")
    print(sess.run(z))
[[ 1.1302718   0.15843017]
 [-2.0472283  -1.4401605 ]]
------------------------------------
[[ 0.04470472  0.44935352]
 [ 1.3003236  -0.7512413 ]]
------------------------------------
[[-0.35371923 -0.508945  ]
 [ 0.8172362  -0.35298085]]

概率分布

离散型变量和概率质量函数(PMF) mass
连续型变量和概率密度函数(PDF) density

bernoulli分布 (两点分布)

Binomial Distribution 二项分布(n重Bernoulli分布)

P ( x = k ) = ( n ! k ! ( n k ) ! ) p k ( 1 p ) ( n k ) P(x=k) = (\frac{n!}{k!(n-k)!})p^k(1-p)^{(n-k)}

E(X) = np, Var(X) = np(1−p)

n = 10
p = 0.3
k = np.arange(0, 21)
binomial = stats.binom.pmf(k, n, p)
plt.plot(k, binomial, 'o-')
plt.title('Binomial Distribution')
plt.show()

在这里插入图片描述

normal distribution高斯分布(正态分布)

N ( x ; μ , σ 2 ) = 1 2 π σ 2 e x p ( ( x u ) 2 2 σ 2 ) N(x; \mu, \sigma^2) = \sqrt{\frac{1}{2\pi\sigma^2}}exp(-\frac{(x-u)^2}{2\sigma^2})

mu = 0
sigma = 1
x = np.arange(-5, 5, 0.1)
y = stats.norm.pdf(x, mu, sigma)
plt.plot(x, y)
plt.title('normal distribution')
plt.show()

在这里插入图片描述

Exponential Distribution 指数分布

p ( x ; λ ) = λ e λ x p(x; \lambda) = \lambda e^{-\lambda x}

E ( x ) = 1 λ E(x) = \frac{1}{\lambda} , V a r ( x ) = 1 λ 2 Var(x) = \frac{1}{\lambda^2}

lamda = 0.5
x = np.arange(0, 15, 0.1)
y = stats.expon.pdf(x)
plt.plot(x, y)
plt.show()

在这里插入图片描述

# logistic sigmoid
# softmax

概率论小结

在这里插入图片描述

贝叶斯规则

P(y | x) --> P(x | y)
P ( x y ) = P ( x ) P ( y x ) P ( y ) P(x | y) =\frac{P(x)P(y | x)}{P(y)}

P ( y ) = P ( y x ) P ( x ) P(y) = \sum P(y|x)P(x)

信息论(在决策树中有应用)

信息论是应用数学得分支,主要研究得是对一个信号包含信息得多少进行量化
信息论的基本想法是一个不太可能的事件居然发生了,要比一个非常可能的事件发生能提供更多的信息。
信息量

I ( x ) = l o g P ( x ) I(x) = -logP(x)

当log以e为底时,单位时奈特nats,1nats是以1/e的概率观测到一个事件的信息量

当log以2为底时,单位时比特bit,或者香农

举个例子:抛硬币正面向上的信息量为 e n t r o p y = l o g 1 2 = 1 b i t entropy = -log\frac{1}{2} = 1bit

信息熵(Entropy) : 信源含有的信息量是信源发出的所有可能消息的平均不确定性,信源所含有的信息量。

信息熵度量了信息的不确定性,消息越不确定,信息熵越大。

i n f o ( D ) = ( p i ) l o g 2 ( p i ) info(D) = -\sum(p^i)log_2(p^i)

举个例子: 抛一枚硬币的信息熵为 i n f o ( D ) = 0.5 l o g 2 0.5 ( 1 0.5 ) l o g 2 ( 1 0.5 ) = 1 info(D) = -0.5log_2 0.5 - (1-0.5)log_2 (1-0.5) = 1

结构化概率模型(暂时不知道结构化概率模型会在哪些地方用到)

有向模型

在这里插入图片描述
p ( a , b , c , d , e ) = p ( a ) p ( b a ) p ( c a , b ) p ( d b ) p ( e c ) p(a,b,c,d,e) = p(a)p(b|a)p(c|a,b)p(d|b)p(e|c)

无向模型

在这里插入图片描述
p ( x ) = 1 Z ϕ ( i ) ( ζ ( i ) ) p(x) = \frac{1}{Z}\prod\phi^{(i)}(\zeta^{(i)})

p ( a , b , c , d , e ) = 1 Z ϕ ( 1 ) ( a , b , c ) ϕ ( 2 ) ( b , d ) ϕ ( 3 ) ( c , e ) p(a,b,c,d,e) = \frac{1}{Z}\phi^{(1)}(a,b,c)\phi^{(2)}(b,d)\phi^{(3)}(c,e)

其中两两之间有边连接的称为团,每个团伴随一个因子 ϕ \phi ,同时为了除以归一化常数 Z Z 来得到归一化概率

无向模型很容易看出因子之间的关系,比如a,b,c相互影响,a和e通过c间接相互影响。

猜你喜欢

转载自blog.csdn.net/egbert123/article/details/86367259
1.2
今日推荐