1.2 概率與信息論

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!(nk)!)pk(1p)(nk)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)=12πσ2exp((xu)22σ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λxp(x; \lambda) = \lambda e^{-\lambda x}

E(x)=1λE(x) = \frac{1}{\lambda}, Var(x)=1λ2Var(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(xy)=P(x)P(yx)P(y)P(x | y) =\frac{P(x)P(y | x)}{P(y)}

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

信息論(在決策樹中有應用)

信息論是應用數學得分支,主要研究得是對一個信號包含信息得多少進行量化
信息論的基本想法是一個不太可能的事件居然發生了,要比一個非常可能的事件發生能提供更多的信息。
信息量

I(x)=logP(x)I(x) = -logP(x)

當log以e爲底時,單位時奈特nats,1nats是以1/e的概率觀測到一個事件的信息量

當log以2爲底時,單位時比特bit,或者香農

舉個例子:拋硬幣正面向上的信息量爲 entropy=log12=1bitentropy = -log\frac{1}{2} = 1bit

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

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

info(D)=(pi)log2(pi)info(D) = -\sum(p^i)log_2(p^i)

舉個例子: 拋一枚硬幣的信息熵爲info(D)=0.5log20.5(10.5)log2(10.5)=1info(D) = -0.5log_2 0.5 - (1-0.5)log_2 (1-0.5) = 1

結構化概率模型(暫時不知道結構化概率模型會在哪些地方用到)

有向模型

在這裏插入圖片描述
p(a,b,c,d,e)=p(a)p(ba)p(ca,b)p(db)p(ec)p(a,b,c,d,e) = p(a)p(b|a)p(c|a,b)p(d|b)p(e|c)

無向模型

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

p(a,b,c,d,e)=1Zϕ(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,同時爲了除以歸一化常數ZZ來得到歸一化概率

無向模型很容易看出因子之間的關係,比如a,b,c相互影響,a和e通過c間接相互影響。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章