這個時代已是多學科相互滲透的時代,純粹的傳統學科在沒落,新興的交叉學科在不斷興起。html
個人問題很簡單:web
想回答這些問題就必需要學習信息論!app
什麼是信息?dom
兩個一樣的光碟裏保存的信息是同樣的嗎?ide
人和信息的關係是什麼?假設全部人都不存在了,信息還存在嗎?函數
independence of random variablespost
Markov chain學習
strictly positive優化
重點概念:atom
條件獨立:獨立與條件獨立,X->Y->Z,X與Y不獨立,Y與Z也不獨立,X與Z呢?這就是條件獨立。也就是X和Z的依賴關係(獨立關係)藉由Y產生,因此叫條件獨立。舉例:X:明天下雨,Y:今天下雨,Z:今天地面變溼了。
馬爾科夫鏈:由條件獨立引伸而來。𝑝(𝑋1,𝑋2,…,𝑋𝑛)=𝑝(𝑋1)𝑝(𝑋1∣𝑋2)𝑝(𝑋2∣𝑋3)…𝑝(𝑋𝑛−1∣𝑋𝑛)。馬爾科夫鏈其實並非嚴格的鏈,也有多是環。小白都能看懂的馬爾可夫鏈詳解
馬爾科夫子鏈:任意從馬爾科夫鏈中取出m個節點,按順序排列,新的馬爾科夫鏈是原來的一個子鏈。(有點難以理解,明明斷開了)
entropy
conditional entropy
mutual information
conditional mutual information
熵的數學定義:
和機率分佈同樣,熵也是隨機變量的函數,更確切的說,熵是機率分佈的函數。
此時咱們討論的都是離散隨機變量,因此只能選離散分佈來計算熵值。
能夠看到,對於伯努利分佈而言,當0和1出現機率都爲0.5時,此時隨機變量的機率分佈的熵值最大,爲1.
library(philentropy) library(ggplot2) library(Rlab) # define probabilities P(X) Prob <- 1:10/sum(1:10) # Compute Shannon's Entropy H(Prob) x <- (0:1000)/1000 y <- unlist(lapply(x, function(x) {H(dbern(0:1, x))})) ggplot(data=data.frame(prob=x, entropy=y), aes(x=prob, y=entropy)) + geom_bar(stat="identity") + labs(title = "Entropy of Bernoulli Distribution") + geom_hline(yintercept=0) + geom_vline(xintercept=0) H(dbinom(1:100, size = 100, prob = 0.1)) H(dbinom(1:100, size = 100, prob = 0.3)) H(dbinom(1:100, size = 100, prob = 0.5)) H(dbinom(1:100, size = 100, prob = 0.7)) H(dbinom(1:1000, size = 100, prob = 0.7)) H(dbinom(1:1000, size = 1000, prob = 0.7)) ggplot(data=data.frame(x=1:100, probability=dbinom(1:100, size = 100, prob = 0.7)), aes(x=x, y=probability)) + geom_bar(stat="identity") ggplot(data=data.frame(x=1:1000, probability=dbinom(1:1000, size = 100, prob = 0.7)), aes(x=x, y=probability)) + geom_bar(stat="identity") ggplot(data=data.frame(x=1:1000, probability=dbinom(1:1000, size = 1000, prob = 0.7)), aes(x=x, y=probability)) + geom_bar(stat="identity")
爲何香農選的是這個公式?
代碼能夠參考我以前文章:統計分佈彙總 | 生物信息學應用 | R代碼 | Univariate distribution relationships
能夠看到熵值函數是一個求和函數,基本單位是-p*log(p), 其中0<=p<=1. 全部的p值之和爲1.
能夠將這個基本函數可視化:
能夠看到這並非一個對稱函數,極值在x=0.3678694時取得,爲0.5307378。
h <- function(x) {-x*log2(x)} curve(h, 0, 1) + abline(v=0.3678694, h=0.5307378) plot(h) + abline(v=0.3678694, h=0.5307378) # h=0.5307378 optimize(h, c(0,1), maximum = T) # nlm(h, c(0,1))
如何證實,對全部的p(x)的機率分佈,h(x)的最大值都是在全部事件等概論時出現?至關於離散型的均勻分佈。
code alphabet - 決定了熵值函數裏面的基
Shannon的熵值公式也能夠用指望的角度來解讀
binary entropy function
下面開始用直覺難以理解了:
joint entropy
conditional entropy
mutual information
conditional mutual information
variational distance
參考: