1. 绪论

1.1. Example: Polynomial Curve Fitting

# sample data
def create_toy_data(func, sample_size, std):x = np.linspace(0, 1, sample_size)t = func(x) + np.random.normal(scale=std, size=x.shape)return x, tdef func(x):return np.sin(2 * np.pi * x)x_train, y_train = create_toy_data(func, 10, 0.25)
x_test = np.linspace(0, 1, 100)
y_test = func(x_test)plt.scatter(x_train, y_train, facecolor="none", edgecolor="b", s=50, label="training data")
plt.plot(x_test, y_test, c="g", label="$\sin(2\pi x)$")
plt.legend()
plt.show()

多项式拟合:

y(x,w)=w0+w1x+w2x2+...+wMxM=∑j=0Mwjxj(1.1)y(x,w)=w_0+w_1x+w_2x^2+...+w_Mx^M=\sum_{j=0}^M {w_jx^j} \tag{1.1}y(x,w)=w0​+w1​x+w2​x2+...+wM​xM=j=0∑M​wj​xj(1.1)

误差函数

E(w)=12∑n=1N{y(xn,w)−tn}2(1.2)E(\boldsymbol{w})=\frac{1}{2} \sum_{n=1}^{N}\left\{y\left(x_{n}, \boldsymbol{w}\right)-t_{n}\right\}^{2} \tag{1.2}E(w)=21​n=1∑N​{y(xn​,w)−tn​}2(1.2)

目标是让误差函数越来越小。有唯一解w∗w^*w∗,是的E(w)E(w)E(w)取得最小值E(w∗)E(w^*)E(w∗)。

# 几个多项式拟合
for i, degree in enumerate([0, 1, 3, 9]):plt.subplot(2, 2, i + 1)feature = PolynomialFeature(degree)X_train = feature.transform(x_train)X_test = feature.transform(x_test)model = LinearRegression()model.fit(X_train, y_train)y = model.predict(X_test)plt.scatter(x_train, y_train, facecolor="none", edgecolor="b", s=50, label="training data")plt.plot(x_test, y_test, c="g", label="$\sin(2\pi x)$")plt.plot(x_test, y, c="r", label="fitting")plt.ylim(-1.5, 1.5)plt.annotate("M={}".format(degree), xy=(0.8, 1))
plt.legend(bbox_to_anchor=(1.05, 0.64), loc=0, borderaxespad=0.)
plt.show()

m太大发生过拟合,泛化性能下降。需要一个衡量模型泛化能力的标准。

为了比较不同大小的数据集和保证和t有相同单位。引入均方根误差:

ERMS=2E(w∗)/N(1.3)E_{R M S}=\sqrt{2 E\left(\boldsymbol{w}^{*}\right) / N} \tag{1.3}ERMS​=2E(w∗)/N​(1.3)

# 均方根对比
def rmse(a, b):return np.sqrt(np.mean(np.square(a - b)))training_errors = []
test_errors = []for i in range(10):feature = PolynomialFeature(i)X_train = feature.transform(x_train)X_test = feature.transform(x_test)model = LinearRegression()model.fit(X_train, y_train)y = model.predict(X_test)training_errors.append(rmse(model.predict(X_train), y_train))test_errors.append(rmse(model.predict(X_test), y_test + np.random.normal(scale=0.25, size=len(y_test))))plt.plot(training_errors, 'o-', mfc="none", mec="b", ms=10, c="b", label="Training")
plt.plot(test_errors, 'o-', mfc="none", mec="r", ms=10, c="r", label="Test")
plt.legend()
plt.xlabel("degree")
plt.ylabel("RMSE")
plt.show()

解决过拟合的方式:

  1. 增加样本个数

  1. 正则化
    E~(w)=12∑n=1N{y(xn,w)−tn}2+λ2∥w∥2(1.4)\tilde{E}(\boldsymbol{w})=\frac{1}{2} \sum_{n=1}^{N}\left\{y\left(x_{n}, \boldsymbol{w}\right)-t_{n}\right\}^{2}+\frac{\lambda}{2}\|\boldsymbol{w}\|^{2} \tag{1.4}E~(w)=21​n=1∑N​{y(xn​,w)−tn​}2+2λ​∥w∥2(1.4)
    ∥w∥2≡=w02+w12+...+wM2\|\boldsymbol{w}\|^{2}\equiv=\boldsymbol{w}_0^2+\boldsymbol{w}_1^2+...+\boldsymbol{w}_M^2∥w∥2≡=w02​+w12​+...+wM2​,λ\lambdaλ的大小控制的正则化影响的大小
# M=9但用了正则化
feature = PolynomialFeature(9)
X_train = feature.transform(x_train)
X_test = feature.transform(x_test)model = RidgeRegression(alpha=1e-3)
model.fit(X_train, y_train)
y = model.predict(X_test)y = model.predict(X_test)
plt.scatter(x_train, y_train, facecolor="none", edgecolor="b", s=50, label="training data")
plt.plot(x_test, y_test, c="g", label="$\sin(2\pi x)$")
plt.plot(x_test, y, c="r", label="fitting")
plt.ylim(-1.5, 1.5)
plt.legend()
plt.annotate("M=9", xy=(-0.15, 1))
plt.show()

1.2 概率论

这里有两个随机变量,X和Y.(离散变量,相互独立)图中简化为{x1,x2,x3,x4,x5x_1,x_2,x_3,x_4,x_5x1​,x2​,x3​,x4​,x5​}和{y1,y2,y3y_1,y_2,y_3y1​,y2​,y3​}。N次取样,每次得到一组的x,y。X=xi,Y=yiX=x_{i}, Y=y_{i}X=xi​,Y=yi​的取到次数是nijn_{ij}nij​。于是我们有

p(X=xi,Y=yi)=nijN(1.5)p\left(X=x_{i}, Y=y_{i}\right)=\frac{n_{i j}}{N} \tag{1.5}p(X=xi​,Y=yi​)=Nnij​​(1.5)

p(X=xi)=ciN(1.6)p\left(X=x_{i}\right)=\frac{c_{i}}{N} \tag{1.6}p(X=xi​)=Nci​​(1.6)

我们可以得到:

p(X=xi)=∑j=1Lp(X=xi,Y=yi)(1.7)p\left(X=x_{i}\right)=\sum_{j=1}^{L}p\left(X=x_{i}, Y=y_{i}\right) \tag{1.7}p(X=xi​)=j=1∑L​p(X=xi​,Y=yi​)(1.7)
这就是加法规则。p(X=xi)p\left(X=x_{i}\right)p(X=xi​)被叫做边缘概率:因为它通过把其他变量(本例中的Y )边缘化或者加和得到。

条件概率:

p(Y=yj∣X=xi)=nijci(1.8)p\left(Y=y_{j} | X=x_{i}\right)=\frac{n_{i j}}{c_i} \tag{1.8}p(Y=yj​∣X=xi​)=ci​nij​​(1.8)

p(X=xi,Y=yj)=nijN=nijci⋅ciN=p(Y=yj∣X=xi)p(X=xi)(1.9)p\left(X=x_{i}, Y=y_{j}\right)=\frac{n_{i j}}{N}=\frac{n_{i j}}{c_{i}} \cdot \frac{c_{i}}{N}=p\left(Y=y_{j} | X=x_{i}\right) p\left(X=x_{i}\right) \tag{1.9}p(X=xi​,Y=yj​)=Nnij​​=ci​nij​​⋅Nci​​=p(Y=yj​∣X=xi​)p(X=xi​)(1.9)
这就是乘积规则。

sum rule p(X)=∑Yp(X,Y)(1.10)p(X)=\sum_{Y}p(X,Y) \tag{1.10}p(X)=Y∑​p(X,Y)(1.10)

product rule p(X,Y)=P(Y∣X)p(X)(1.11)p(X,Y)=P(Y|X)p(X) \tag{1.11}p(X,Y)=P(Y∣X)p(X)(1.11)

根据这两个式子得到本书最重要的定义:贝叶斯定理。

P(Y∣X)=P(X∣Y)P(Y)P(X)(1.12)P(Y | X)=\frac{P(X | Y) P(Y)}{P(X)} \tag{1.12}P(Y∣X)=P(X)P(X∣Y)P(Y)​(1.12)

分子中的P(x)=∑YP(X∣Y)P(Y)P(x)=\sum_{Y}P\left(X | Y\right)P\left(Y\right)P(x)=∑Y​P(X∣Y)P(Y)其实这就是加法规则。也确保了概率在归一化之后的值为1.

积分就是连续情况下的相加

1.2.1 概率密度

如果一个实值变量xxx落在区间(x,x+δx)(x, x + \delta x)(x,x+δx)的概率由p(x)δxp(x)\delta xp(x)δx给出,其中$ \delta x \to 0 ,那么我们就把,那么我们就把,那么我们就把 p(x) 称作称作称作 x $的概率密度(probability density)。

连续概率分布:

p(x∈(a,b))=∫abp(x)dx(1.24)p(x \in(a, b))=\int_{a}^{b} p(x) \mathrm{d}x \tag{1.24}p(x∈(a,b))=∫ab​p(x)dx(1.24)

满足:

p(x)≥0(1.25)p(x)\geq0 \tag{1.25}p(x)≥0(1.25)

∫−∞∞p(x)dx=1(1.26)\int_{-\infty}^{\infty} p(x) \mathrm{d}x=1 \tag{1.26}∫−∞∞​p(x)dx=1(1.26)

可以用过Jacobian因子变化:例如:x=g(y)x=g(y)x=g(y)

py(y)=px(x)∣dxdy∣=px(g(y))∣g′(y)∣(1.27)p_{y}(y)=p_{x}(x)\left|\frac{\mathrm{d} x}{\mathrm{d} y}\right|=p_{x}(g(y))\left|g^{\prime}(y)\right| \tag{1.27}py​(y)=px​(x)∣∣∣∣​dydx​∣∣∣∣​=px​(g(y))∣g′(y)∣(1.27)

概率密度最大值的概念取决于变量的选择

定义累计密度分布:

P(z)=∫−∞zp(x)dx(1.28)P(z) = \int_{-\infty}^z p(x)dx \tag{1.28} P(z)=∫−∞z​p(x)dx(1.28)

满足P′(x)=p(x)P^\prime(x) = p(x) P′(x)=p(x)
多变量的时候x是向量,定义是相似的。

加法法则和乘法法则

p(x)=∫p(x,y)dy(1.31)p(x) = \int p(x, y) dy \tag{1.31}p(x)=∫p(x,y)dy(1.31)

p(x,y)=p(y∣x)p(x)(1.32)p(x, y)= p(y|x)p(x) \tag{1.32}p(x,y)=p(y∣x)p(x)(1.32)

1.2.2 期望和方差

期望就是分布的平均

离散函数的期望:

E[f]=∑xp(x)f(x)(1.33)\mathbb{E}[f] = \sum\limits_xp(x)f(x) \tag{1.33} E[f]=x∑​p(x)f(x)(1.33)
连续函数的期望:

E[f]=∫p(x)f(x)dx(1.34)\mathbb{E}[f] = \int p(x)f(x)dx \tag{1.34} E[f]=∫p(x)f(x)dx(1.34)
当期望不好直接计算的时候:

E[f]≃1N∑n=1Nf(xn)(1.35)\mathbb{E}[f] \simeq \frac{1}{N}\sum\limits_{n=1}^{N}f(x_n) \tag{1.35} E[f]≃N1​n=1∑N​f(xn​)(1.35)
通过采样的方式来估计。

多变量情况下的期望,下标表示对谁求期望

Ex[f(x,y)](1.36)\mathbb{E}_x[f(x, y)] \tag{1.36} Ex​[f(x,y)](1.36)
这是一个关于y的函数。

对于一个条件分布,同样有条件期望

E[f∣y]=∑xp(x∣y)f(x)(1.37)\mathbb{E}[f|y] = \sum\limits_x p(x|y)f(x) \tag{1.37} E[f∣y]=x∑​p(x∣y)f(x)(1.37)

方差就是分布在均值附近的变化性大小

定义为:

var[f]=E[(f(x)−E[f(x)])2](1.38)var[f] = \mathbb{E}[(f(x) - \mathbb{E}[f(x)])^2] \tag{1.38} var[f]=E[(f(x)−E[f(x)])2](1.38)
也可以写成

var[f]=E[f(x)2]−E[f(x)]2(1.39)var[f] = \mathbb{E}[f(x)^2] − \mathbb{E}[f(x)]^2 \tag{1.39} var[f]=E[f(x)2]−E[f(x)]2(1.39)
所以

var[x]=E[x2]−E[x]2(1.40)var[x] = \mathbb{E}[x^2] − \mathbb{E}[x]^2 \tag{1.40} var[x]=E[x2]−E[x]2(1.40)

协方差表示随机变量x和y的共同变化程度。如果x和y独立,则协方差为0.

KaTeX parse error: No such environment: eqnarray at position 8: \begin{̲e̲q̲n̲a̲r̲r̲a̲y̲}̲ cov[x, y] &=& …
如果是两个随机向量的情况

KaTeX parse error: No such environment: eqnarray at position 8: \begin{̲e̲q̲n̲a̲r̲r̲a̲y̲}̲ cov[x, y] &=& …

1.2.3 贝叶斯概率

贝叶斯定理:

p(w∣D)=p(D∣w)p(w)p(D)(1.43)p(w| D) = \frac{p(D|w)p(w)}{p(D)} \tag{1.43} p(w∣D)=p(D)p(D∣w)p(w)​(1.43)

我们可以根据观测到DDD后的后验概率p(w∣D)p(w|D)p(w∣D)来估计www的不确定性。贝叶斯定理右侧的量p(D∣w)p(D|w)p(D∣w)由观测到的数据集DDD来估计,可以被看成参数向量www的似然函数(likelihood function)。

不同的参数向量www的情况下,观测到的数据集的可能性为似然函数。

注意似然不表示它是www的概率分布,它关于$w $的积分也不(一定)等于1。
posterior∝likelihood×prior(1.44)\text{posterior} \propto \text{likelihood} × \text{prior} \tag{1.44} posterior∝likelihood×prior(1.44)
分母是归一化因子:

p(D)=∫p(D∣w)P(w)dw(1.45)p(D) = \int p(D|w)P(w)dw \tag{1.45} p(D)=∫p(D∣w)P(w)dw(1.45)

频率派:w是固定的参数。最小误差函数就是最大似然估计

贝叶斯派:w不是固定的,需要用概率分布表达这种不确定性。

1.2.4 高斯分布

对于一元变量:

$\mathcal{N}\left(x | \mu, \sigma^{2}\right)=\frac{1}{\left(2 \pi \sigma{2}\right){\frac{1}{2}}} \exp \left{-\frac{1}{2 \sigma{2}}(x-\mu){2}\right} \tag{1.46} $

满足:

N(x∣μ,σ2)>0(1.47)\mathcal{N}(x|\mu, \sigma^2) > 0 \tag{1.47} N(x∣μ,σ2)>0(1.47)

∫−∞∞N(x∣μ,σ2)dx=1(1.48)\int_{-\infty}^{\infty} \mathcal{N}(x|\mu, \sigma^2)dx = 1 \tag{1.48} ∫−∞∞​N(x∣μ,σ2)dx=1(1.48)

期望为:

E[x]=∫−∞∞N(x∣μ,σ2)xdx=μ(1.49)\mathbb{E}[x] = \int_{-\infty}^{\infty} \mathcal{N}(x|\mu, \sigma^2)xdx = \mu \tag{1.49} E[x]=∫−∞∞​N(x∣μ,σ2)xdx=μ(1.49)

E[x2]=∫−∞∞N(x∣μ,σ2)x2dx=μ2+σ2(1.50)\mathbb{E}[x^2] = \int_{-\infty}^{\infty} \mathcal{N}(x|\mu, \sigma^2)x^2dx = \mu^2 + \sigma^2 \tag{1.50} E[x2]=∫−∞∞​N(x∣μ,σ2)x2dx=μ2+σ2(1.50)

方差为:

var[x]=E[x2]−E[x]2=σ2(1.51)var[x] = \mathbb{E}[x^2] - \mathbb{E}[x]^2 = \sigma^2 \tag{1.51} var[x]=E[x2]−E[x]2=σ2(1.51)

当x是d维向量:

N(x∣μ,Σ)=1(2π)D/21∣Σ∣1/2exp−12(x−μ)TΣ−1(x−μ)(1.52)\mathcal{N}(x|\mu, \Sigma) = \frac{1}{(2\pi)^{D/2}} \frac{1}{|\Sigma|^{1/2}} exp{-\frac{1}{2}(x-\mu)^T\Sigma^{-1}(x - \mu)} \tag{1.52} N(x∣μ,Σ)=(2π)D/21​∣Σ∣1/21​exp−21​(x−μ)TΣ−1(x−μ)(1.52)

参考资料:

https://blog.csdn.net/qq_37549266/article/details/95942282

https://www.zhihu.com/question/36339816

当我们进行D次观测。每次取样都是相同的的高斯分布中取样,只是我们不知道期望和方差。独立同分布i.i.d的取样。

数据集的概率为:

p(X∣μ,σ2)=∏n=1NN(xn∣μ,σ2)(1.53)p(X|\mu, \sigma^2) = \prod\limits_{n=1}^{N}N(x_n|\mu, \sigma^2) \tag{1.53} p(X∣μ,σ2)=n=1∏N​N(xn​∣μ,σ2)(1.53)

希望可以通过最大似然来求解未知的期望和方差。取对数方便计算

ln⁡p(x∣μ,σ2)=−12σ2∑n=1N(xn−μ)2−N2ln⁡σ2−N2ln⁡(2π)(1.54)\ln p(x|\mu, \sigma^2) = -\frac{1}{2\sigma^2}\sum\limits_{n=1}^N(x_n - \mu)^2 - \frac{N}{2}\ln \sigma^2 - \frac{N}{2}\ln(2\pi) \tag{1.54} lnp(x∣μ,σ2)=−2σ21​n=1∑N​(xn​−μ)2−2N​lnσ2−2N​ln(2π)(1.54)

样本均值:

μML=1N∑n=1Nxn(1.55)\mu_{ML} = \frac{1}{N}\sum\limits_{n=1}^{N}x_n \tag{1.55} μML​=N1​n=1∑N​xn​(1.55)
样本方差:

σML2=1N∑n=1N(xn−μML)2(1.56)\sigma_{ML}^2 = \frac{1}{N}\sum\limits_{n=1}^{N}(x_n - \mu_{ML})^2 \tag{1.56} σML2​=N1​n=1∑N​(xn​−μML​)2(1.56)

当我们用样本的期望和方差来代替原本的期望和方差的时候,期望不会有偏差

KaTeX parse error: \tag works only in display equations

方差会出现偏差。

E[σML2]=(N−1N)σ2(1.58)\mathbb{E}\left[\sigma_{M L}^{2}\right]=\left(\frac{N-1}{N}\right) \sigma^{2} \tag{1.58} E[σML2​]=(NN−1​)σ2(1.58)

为了得到无偏估计:

σ~2=NN−1σML2=1N−1∑n=1N(xn−μML)2(1.59)\widetilde\sigma^2 = \frac{N}{N - 1}\sigma_{ML}^2 = \frac{1}{N - 1}\sum\limits_{n=1}^{N}(x_n - \mu_{ML})^2 \tag{1.59} σ2=N−1N​σML2​=N−11​n=1∑N​(xn​−μML​)2(1.59)

参考资料:https://www.zhihu.com/question/20099757

1.2.5 重新考察曲线拟合

N个输入$ X = (x_1,…,x_N)^T 和输出和输出和输出 T = (t_1,…,t_N)^T ,在新的输入下求输出。假设t服从,在新的输入下求输出。假设t服从,在新的输入下求输出。假设t服从 y(x, w) $相同均值的高斯分布。

p(t∣x,w,β)=N(t∣y(x,w),β−1)(1.60)p(t|x, w, \beta) = \mathcal{N}(t|y(x, w), \beta^{-1}) \tag{1.60} p(t∣x,w,β)=N(t∣y(x,w),β−1)(1.60)

我们定义的分布的方差的逆为精度-参数$\beta $。

通过最大似然来确定未知参数$ w, \beta $,似然函数为:

p(T∣X,w,β)=∏n=1NN(tn∣y(xn,w),β−1)(1.61)p(T|X, w, \beta) = \prod\limits_{n=1}^{N}\mathcal{N}(t_n|y(x_n, w), \beta^{-1}) \tag{1.61} p(T∣X,w,β)=n=1∏N​N(tn​∣y(xn​,w),β−1)(1.61)

取对数

ln⁡p(T∣X,w,β)=−β2∑n=1N{y(xn,w)−tn}2+N2ln⁡β−N2ln⁡(2π)(1.62)\ln p(T|X, w, \beta) = -\frac{\beta}{2}\sum\limits_{n=1}^{N}\{y(x_n, w) - t_n\}^2 + \frac{N}{2}\ln{\beta} - \frac{N}{2}\ln{(2\pi)} \tag{1.62} lnp(T∣X,w,β)=−2β​n=1∑N​{y(xn​,w)−tn​}2+2N​lnβ−2N​ln(2π)(1.62)

多项式系数的最大似然解,记作$ w_{ML} $。就是最小化误差函数。而精度等于:

1βML=1N∑n=1Ny(xx,wML)−tn2(1.63)\frac{1}{\beta_{ML}} = \frac{1}{N}\sum\limits_{n=1}^{N}{y(x_x, w_{ML}) - t_n}^2 \tag{1.63} βML​1​=N1​n=1∑N​y(xx​,wML​)−tn​2(1.63)

带入1.60就是结果

p(t∣x,wML,βML)=N(t∣y(x,wML),βML−1)(1.64)p(t|x, w_{ML}, \beta_{ML}) = \mathcal{N}(t|y(x, w_{ML}), \beta_{ML}^{-1}) \tag{1.64} p(t∣x,wML​,βML​)=N(t∣y(x,wML​),βML−1​)(1.64)

引入w的先验:

p(w∣α)=N(w∣0,α−1I)=(α2π)M+12exp⁡{−α2wTw}(1.65)p(\boldsymbol{w} | \alpha)=\mathcal{N}\left(\boldsymbol{w} | \mathbf{0}, \alpha^{-1} \boldsymbol{I}\right)=\left(\frac{\alpha}{2 \pi}\right)^{\frac{M+1}{2}} \exp \left\{-\frac{\alpha}{2} \boldsymbol{w}^{T} \boldsymbol{w}\right\} \tag{1.65} p(w∣α)=N(w∣0,α−1I)=(2πα​)2M+1​exp{−2α​wTw}(1.65)

这里有超参数$ \alpha $控制先验分布。利用贝叶斯定理可以得到。
p(w∣X,T,α,β)∝p(T∣X,w,β)p(w∣α)(1.66)p(w|X, T, \alpha, \beta) \propto p(T|X, w, \beta)p(w|\alpha) \tag{1.66} p(w∣X,T,α,β)∝p(T∣X,w,β)p(w∣α)(1.66)

最大后验MAP就是最大化1.66。取-ln我们可以得到最大后验等价于下面的式子

β2∑n=1N{y(xn,w)−tn}2+α2wTw(1.67)\frac{\beta}{2}\sum\limits_{n=1}^{N}\{y(x_n, w) - t_n\}^2 + \frac{\alpha}{2}w^Tw \tag{1.67} 2β​n=1∑N​{y(xn​,w)−tn​}2+2α​wTw(1.67)
就是有正则化项的误差函数。

1.2.6 贝叶斯曲线拟合

上一节我们还是引入了w,并对w进行估计,这不是完全的贝叶斯方法。这节我们对w积分,这是贝叶斯方法的核心。

我们希望的是应用训练集合(X,T),在已知新的数据x的情况下得到目标值t的概率分布:

p(t∣x,X,T)=∫p(t∣x,w)p(w∣X,T)dw(1.68)p(t|x, X, T) = \int p(t|x, w)p(w|X, T)dw \tag{1.68} p(t∣x,X,T)=∫p(t∣x,w)p(w∣X,T)dw(1.68)

其实这个积分也是可以求解的,解为:

p(t∣x,X,T)=N(t∣m(x),s2(x))(1.69)p(t|x, X, T) = \mathcal{N}(t|m(x), s^2(x)) \tag{1.69} p(t∣x,X,T)=N(t∣m(x),s2(x))(1.69)

m(x)=βϕ(x)TS∑n=1Nϕ(xn)tn(1.70)m(x)=\beta \phi(x)^{T} S \sum_{n=1}^{N} \phi\left(x_{n}\right) t_{n} \tag{1.70} m(x)=βϕ(x)TSn=1∑N​ϕ(xn​)tn​(1.70)

s2(x)=β−1+ϕ(x)TSϕ(x)(1.71)s^{2}(x)=\beta^{-1}+\phi(x)^{T} \boldsymbol{S} \phi(x) \tag{1.71} s2(x)=β−1+ϕ(x)TSϕ(x)(1.71)

S−1=αI+β∑n=1Nϕ(xn)ϕ(x)T(1.72)S^{-1} = \alpha I + \beta\sum\limits_{n=1}^N\phi(x_n)\phi(x)^T \tag{1.72} S−1=αI+βn=1∑N​ϕ(xn​)ϕ(x)T(1.72)

其中$ I 是单位矩阵,定义向量是单位矩阵,定义向量是单位矩阵,定义向量\phi(x) 为为为 \phi_i(x) = x^i, i = 0,…,M $。

剩余证明:https://www.cnblogs.com/wacc/p/5495448.html

参考资料:https://qiita.com/gucchi0403/items/bfffd2586272a4c05a73

# 贝叶斯曲线拟合
model = BayesianRegression(alpha=2e-3, beta=2)
model.fit(X_train, y_train)y, y_err = model.predict(X_test, return_std=True)
plt.scatter(x_train, y_train, facecolor="none", edgecolor="b", s=50, label="training data")
plt.plot(x_test, y_test, c="g", label="$\sin(2\pi x)$")
plt.plot(x_test, y, c="r", label="mean")
plt.fill_between(x_test, y - y_err, y + y_err, color="pink", label="std.", alpha=0.5)
plt.xlim(-0.1, 1.1)
plt.ylim(-1.5, 1.5)
plt.annotate("M=9", xy=(0.8, 1))
plt.legend(bbox_to_anchor=(1.05, 1.), loc=2, borderaxespad=0.)
plt.show()

1.3 模型选择

我们训练出了很多模型,因为可能发生过拟合,我们需要正则化。也需要一个判断泛化性能好坏的标准。一般用一个未参与训练的测试集,进行交叉验证。

对所有模型的优劣求平均。如果留出的数据只有一个就是留一验证。但缺点:

1.训练次数随着分割的变细而增加,时间成本增加。

2.参数太多,参数的组合甚至是指数型增加,我们如何选择测试集。

我们模型是由训练数据而决定的,不是参数的选择而决定。

赤池信息准则AIC akaike information criterion:

ln⁡p(D∣wML)−M(1.73)\ln p(D|w_{ML}) - M \tag{1.73} lnp(D∣wML​)−M(1.73)

这里的$ p(D|w_{ML}) 是最合适的对数似然函数,是最合适的对数似然函数,是最合适的对数似然函数, M $是模型中的可调节参数。之后还有BIC。

1.4维度灾难

高维数据数据难区分。

一种解法就是划分成小格子,格子里多的点就是这个区域的点。但划分个数随参数的维度增加激增。

推广到曲线拟合上。我们有D个输入变量,一个三阶多项式系数随着D的增加是幂增加。

y(x,w)=w0+∑i=1Dwixi+∑i=1D∑j=1Dwijxixj+∑i=1D∑j=1D∑k=1Dwijkxixjxk(1.74)y(x, w) = w_0 + \sum_{i=1}^Dw_ix_i + \sum_{i=1}^D\sum_{j=1}^Dw_{ij}x_ix_j + \sum_{i=1}^D\sum_{j=1}^D\sum_{k=1}^Dw_{ijk}x_ix_jx_k \tag{1.74} y(x,w)=w0​+i=1∑D​wi​xi​+i=1∑D​j=1∑D​wij​xi​xj​+i=1∑D​j=1∑D​k=1∑D​wijk​xi​xj​xk​(1.74)

这里是系数的个数正比于$ D^3 。M阶多项式就正比于。M阶多项式就正比于。M阶多项式就正比于 D^M $了。

高维到底会产生什么效果。比方说一个D维空间的半径r=1的球体。$ r = 1 − \epsilon 和半径和半径和半径r = 1 $之间的部分占球的总体积的百分比是多少。

VD(r)=KDrD(1.75)V_D(r) = K_Dr^D \tag{1.75} VD​(r)=KD​rD(1.75)

VD(1)−VD(1−ϵ)VD(1)=1−(1−ϵ)D(1.76)\frac{V_D(1) - V_D(1-\epsilon)}{V_D(1)} = 1 - (1 - \epsilon)^D \tag{1.76} VD​(1)VD​(1)−VD​(1−ϵ)​=1−(1−ϵ)D(1.76)

因此,在高维空间中,一个球体的大部分体积都聚集在表面附近的薄球壳上!

不是所有在低维空间的直觉都可以推广到 高维空间。

即便如此,我们依然要使用高维度的数据。真实数据两个特点:1.目标受限在较低有效维度的空间》输入复杂的图片,但目标只是区分简单的任务。2.局部比较光滑,不会突变》空隙部分用插值估计。

1.5决策论

医学诊断,我们给病人拍了X光片,来诊断他是否得了癌症。

输入向量$ x 是X光片的像素的灰度值集合,输出变量是X光片的像素的灰度值集合,输出变量是X光片的像素的灰度值集合,输出变量 t 表示病人患有癌症,记作类表示病人患有癌症,记作类表示病人患有癌症,记作类 C_1 或者不患癌症,记作类或者不患癌症,记作类或者不患癌症,记作类 C_2 。实际中,我们可能二元变量(如:。实际中,我们可能二元变量(如:。实际中,我们可能二元变量(如: t = 0 来表示来表示来表示 C_1 类,类,类,t = 1 来表示来表示来表示 C_2 $类)来表示。

希望得到$ p(C_k|x) $。使用贝叶斯方法这些概率可以表示为:

$ p(C_k|x) = \frac{p(x|C_k)p(C_k)}{p(x)} \tag{1.77} $

$ p(C_1) 表示在拍X光片前病人患有癌症的概率,同样的,表示在拍X光片前病人患有癌症的概率,同样的,表示在拍X光片前病人患有癌症的概率,同样的, p(C_1|x) $表示获得X光片信息后使用贝叶斯定理修正的后验概率。

1.5.1 最小化错误分类率

KaTeX parse error: No such environment: eqnarray at position 8: \begin{̲e̲q̲n̲a̲r̲r̲a̲y̲}̲ p(mistake) &=&…

对于$ x 如果如果如果p(x, C_1) > p(x, C_2) ,那么就把,那么就把,那么就把 x 分到类分到类分到类 C_1 $中。

对于更一般的K 类的情形,计算正确率会更简单。KaTeX parse error: No such environment: eqnarray at position 8: \begin{̲e̲q̲n̲a̲r̲r̲a̲y̲}̲ p(correct) &=&…

1.5.2 最小化期望损失

真实分类是CkC_kCk​,实际分类是CjC_jCj​.定义损失矩阵:

损失函数变为E[L]=∑k∑j∫RjLkjp(x,Ck)dx(1.80)\mathbb{E}[L] = \sum\limits_k\sum\limits_j\int_{R_j} L_{kj}p(x, C_k)dx \tag{1.80} E[L]=k∑​j∑​∫Rj​​Lkj​p(x,Ck​)dx(1.80)

消去共同因子P(x),根据决策规则就是对于每个新的x,使它分到能使得下式取得最小值的j类。
∑kLkjp(Ck∣x)\sum\limits_kL_{kj}p(C_k|x) k∑​Lkj​p(Ck​∣x)

1.5.3拒绝选项

引入θ\thetaθ,低于θ\thetaθ的后验概率$ p(C_k|x) $进行进一步检测或交给专家。

1.5.4推断和决策

三种方法:

1.生成模型:通过对每个类别$C_k ,独立的确定类别的条件密度,独立的确定类别的条件密度,独立的确定类别的条件密度 p(x | C_k) 来解决推断问题,还分别推断出类别的先验概率来解决推断问题,还分别推断出类别的先验概率来解决推断问题,还分别推断出类别的先验概率 p(C_k) $,然后使用贝叶斯定理:

$ p(C_k|x) = \frac{p(x|C_k)p(C_k)}{p(x)} \tag{1.82} $

来计算类别的后验概率$ p(C_k|x) 。<p>2.判别模型,解决确定类别的后验密度。<p> 2.判别模型,解决确定类别的后验密度。<p>2.判别模型,解决确定类别的后验密度p(C_k|x) 的推断问题,然后,使用决策论来对新的输入的推断问题,然后,使用决策论来对新的输入的推断问题,然后,使用决策论来对新的输入 x 进行分类。<p>3.判别函数:找到能直接把输入进行分类。<p> 3.判别函数:找到能直接把输入进行分类。<p>3.判别函数:找到能直接把输入 x 映射到类别标签映射到类别标签映射到类别标签 f(x) $。

一般都需要后验概率:

  • 最小化风险:损失矩阵可能会修改
  • 拒绝选项:可以设定拒绝比例
  • 补偿类先验概率:修正样本分布的偏差
  • 组合模型:多手段检测。
    p(XI,XB∣Ck)=p(XI∣Ck)p(XB∣Ck)(1.84)p(X_I, X_B|C_k) = p(X_I|C_k)p(X_B|C_k) \tag{1.84} p(XI​,XB​∣Ck​)=p(XI​∣Ck​)p(XB​∣Ck​)(1.84)

    条件独立性假设(朴素贝叶斯假设):(输入独立)

    KaTeX parse error: No such environment: eqnarray at position 8: \begin{̲e̲q̲n̲a̲r̲r̲a̲y̲}̲ p(C_k|X_I, X_B…

1.5.5回归问题的损失函数

回到曲线拟合,计算平均损失,求期望。

E[L]=∫∫L(t,y(x))p(x,t)dxdt(1.86)\mathbb{E}[L] = \int\int L(t,y(x))p(x,t)dxdt \tag{1.86} E[L]=∫∫L(t,y(x))p(x,t)dxdt(1.86)

平方误差:

E[L]=∫∫{y(x)−t}2p(x,t)dxdt(1.87)\mathbb{E}[L] = \int\int\{y(x) - t\}^2p(x, t)dxdt \tag{1.87} E[L]=∫∫{y(x)−t}2p(x,t)dxdt(1.87)

变分法求解

δE[L]δy(x)=2∫{y(x)−t}p(x,t)dt=0(1.88)\frac{\delta\mathbb{E}[L]}{\delta y(x)} = 2\int \{y(x) - t\}p(x,t)dt = 0 \tag{1.88} δy(x)δE[L]​=2∫{y(x)−t}p(x,t)dt=0(1.88)

整理:

y(x)=∫tp(x,t)dtp(x)=∫tp(t∣x)dt=Et[t∣x](1.89)y(x) = \frac{\int t p(x,t)dt}{p(x)} = \int t p(t|x)dt = \mathbb{E}_t[t|x] \tag{1.89} y(x)=p(x)∫tp(x,t)dt​=∫tp(t∣x)dt=Et​[t∣x](1.89)

这就是回归函数:条件$ x 下下下 t $的条件均值

另一种方法,看平方项

KaTeX parse error: No such environment: eqnarray at position 8: \begin{̲e̲q̲n̲a̲r̲r̲a̲y̲}̲ \{y(x) − t\}^2…

带入损失函数。
E[L]=∫{y(x)−E[t∣x]}2p(x)dx+∫var[t∣x]p(x)dx(1.90)\mathbb{E}[L] = \int\{y(x) − E[t|x]\}^2p(x)dx + \int var[t|x]p(x)dx \tag{1.90} E[L]=∫{y(x)−E[t∣x]}2p(x)dx+∫var[t∣x]p(x)dx(1.90)

不同的损失函数,闵可夫斯基函数

$ \mathbb{E}[L_q] = \int\int|y(x) - t|^qp(x,t)dxdt \tag{1.91} $

参考资料:https://qiita.com/ZaKama/items/e172756db6e37fc68d65

1.6 信息论

观测一个离散随机变量x我们得到多少信息。信息量=“惊讶程度”:

被告知小概率事件发生,信息量高;被告知一定会发生的事情,没有信息量。

用h(x)表示,有两个不相关事件x和y,它们的信息量就是它们的和:h(x,y)=h(x)+h(y)h(x,y)=h(x)+h(y)h(x,y)=h(x)+h(y),对比p(x,y)=p(x)p(y)p(x,y)=p(x)p(y)p(x,y)=p(x)p(y),我们有:

h(x)=−log2p(x)(1.92)h(x) = -log_2p(x) \tag{1.92} h(x)=−log2​p(x)(1.92)
负号确保信息一定是非负的,低概率事件》高信息量。

一随机变量的平均信息量:

H[x]=−∑xp(x)log2p(x)(1.93)H[x] = -\sum\limits_xp(x)log_2p(x) \tag{1.93} H[x]=−x∑​p(x)log2​p(x)(1.93)
叫做随机变量的熵.当p(x)=0,p(x)log2p(x)=0p(x)log_2 p(x)=0p(x)log2​p(x)=0

信息量的实际意义:一个随机变量,8个状态,等可能,熵为:

H[x]=−8×18log218=3bitsH[x] = -8 × \frac{1}{8}log_2\frac{1}{8} = 3 bits H[x]=−8×81​log2​81​=3bits
如果不是等可能:
H[x]=−12log212−14log214−18log218−116log2116−464log2164=2bitsH[x] = -\frac{1}{2}log_2\frac{1}{2} -\frac{1}{4}log_2\frac{1}{4} -\frac{1}{8}log_2\frac{1}{8} -\frac{1}{16}log_2\frac{1}{16} -\frac{4}{64}log_2\frac{1}{64} = 2bits H[x]=−21​log2​21​−41​log2​41​−81​log2​81​−161​log2​161​−644​log2​641​=2bits
非均匀分布比均匀分布的熵要小。

利用非均匀分布这个特点,使用更短的编码来描述更可能的事件,更长的编码来描述不太可能的事件。希望这样做能够得到一个更短的平均编码长度。使用下面的编码串:0、10、110、1110、 111100、111101、111110、111111来表示状态。传输的编码的平均长度就是

average code length=12×1+14×2+18×3+116×4+4×164×6=2bits\text{average code length} = \frac{1}{2}×1 + \frac{1}{4}×2+\frac{1}{8}×3+ \frac{1}{16}×4+4×\frac{1}{64}×6 = 2bits average code length=21​×1+41​×2+81​×3+161​×4+4×641​×6=2bits

使用的时候分割就好了:11001110唯一地编码了状态序列c, a, d。

物理学上,熵是混乱程度:

考虑一个包含N个颜色不同的物体的集合,这些物体要被分到若干个箱子中,使得第i个箱子中有$ n_i 个物体。考虑把物体分配到箱子中的不同方案的数量。有N种方式选择第一个物体,有(N−1)种方式选择第二个物体,以此类推,总共有个物体。考虑把物体分配到箱子中的不同方案的数量。有N种方式选择第一个物体,有(N − 1)种方式选择第二个物体,以此类推,总共有个物体。考虑把物体分配到箱子中的不同方案的数量。有N种方式选择第一个物体,有(N−1)种方式选择第二个物体,以此类推,总共有 N! $种方式把N个物体分配到箱子中。

不区分同一个箱子中同样元素的不同排列。箱子就是染缸。在第$ i^{th} 个箱子有个箱子有个箱子有 n_i! $种排列方式。总方案数量为:

W=N!∏ini!(1.94)W = \frac{N!}{\prod_in_i!} \tag{1.94} W=∏i​ni​!N!​(1.94)
这就是乘数。

熵是缩放后的对数乘数:

H=1Nln⁡W=1Nln⁡N!−1N∑iln⁡ni!(1.95)H = \frac{1}{N}\ln W = \frac{1}{N} \ln N! - \frac{1}{N}\sum\limits_i \ln n_i! \tag{1.95} H=N1​lnW=N1​lnN!−N1​i∑​lnni​!(1.95)

现在我们考虑在$n_i / N 固定的情况下,固定的情况下,固定的情况下, N \to \infty $使用Stirling’s近似:

$ \ln N! \simeq N\ln N - N \tag{1.96} $

得出:

H=−lim⁡N→∞∑i(niN)ln⁡(niN)=−∑ipiln⁡pi(1.97)H = - \lim\limits_{N \to \infty}\sum\limits_{i}(\frac{n_i}{N})\ln(\frac{n_i}{N}) = -\sum\limits_ip_i\ln p_i \tag{1.97} H=−N→∞lim​i∑​(Nni​​)ln(Nni​​)=−i∑​pi​lnpi​(1.97)

如果箱子是X的离散状态xix_ixi​,X的熵就是:

H[p]=−∑ip(xi)ln⁡p(xi)(1.98)H[p] = -\sum\limits_ip(x_i)\ln p(x_i) \tag{1.98} H[p]=−i∑​p(xi​)lnp(xi​)(1.98)

在归一化条件的限制下我们用拉格朗日乘数法得到:

H~=−∑ip(xi)ln⁡p(xi)+λ(∑ip(xi)−1)(1.99)\widetilde{H} = -\sum\limits_ip(x_i)\ln p(x_i) + \lambda(\sum\limits_i p(x_i) - 1) \tag{1.99} H=−i∑​p(xi​)lnp(xi​)+λ(i∑​p(xi​)−1)(1.99)
其实可以求得当所有p(xi)p(x_i)p(xi​)相等的时候,取得最大值。而且二阶导数是负的,所以驻点是最大值:

∂2H~∂p(xi)∂p(xj)=−Iij1pi(1.100)\frac{\partial^2\widetilde{H}}{\partial p(x_i)\partial p(x_j)} = -I_{ij}\frac{1}{p_i} \tag{1.100} ∂p(xi​)∂p(xj​)∂2H​=−Iij​pi​1​(1.100)

连续变量,分割Δ\DeltaΔ宽度的箱子,p(x)连续,根据均值定理可知,一定有个xix_ixi​:

∫iΔ(i+1)Δp(x)dx=p(xi)Δ(1.101)\int_{i \Delta}^{(i+1) \Delta} p(x) \mathrm{d} x=p\left(x_{i}\right) \Delta \tag{1.101} ∫iΔ(i+1)Δ​p(x)dx=p(xi​)Δ(1.101)

这里:$ \sum_ip(x_i)\Delta = 1 $

只要x落在第i个箱子中,我们就把x赋值为$ x_i 。因此观察到值。因此观察到值。因此观察到值 x_i 的概率为的概率为的概率为 p(x_i )\Delta $。连续分布就可以看作离散分布。
HΔ=−∑ip(xi)Δln⁡(p(xi)Δ)=−∑ip(xi)Δln⁡p(xi)−ln⁡Δ(1.102)H_\Delta = -\sum\limits_ip(x_i)\Delta\ln(p(x_i)\Delta) = -\sum\limits_ip(x_i)\Delta \ln p(x_i) - \ln \Delta \tag{1.102} HΔ​=−i∑​p(xi​)Δln(p(xi​)Δ)=−i∑​p(xi​)Δlnp(xi​)−lnΔ(1.102)

忽略第二项,当Δ\DeltaΔ趋近于0,只看第一项变为积分:

lim⁡Δ→0{−∑ip(xi)Δln⁡p(xi)}=−∫p(x)ln⁡p(x)dx(1.103)\lim _{\Delta \rightarrow 0}\left\{-\sum_{i} p\left(x_{i}\right) \Delta \ln p\left(x_{i}\right)\right\}=-\int p(x) \ln p(x) \mathrm{d} x \tag{1.103} Δ→0lim​{−i∑​p(xi​)Δlnp(xi​)}=−∫p(x)lnp(x)dx(1.103)
把它定义为
H[x]=−∫p(x)ln⁡p(x)dx(1.104)H[\boldsymbol{x}]=-\int p(\boldsymbol{x}) \ln p(\boldsymbol{x}) \mathrm{d} \boldsymbol{x} \tag{1.104} H[x]=−∫p(x)lnp(x)dx(1.104)
这就是微分熵
δ\deltaδ 趋近于0,第二项发散

反映了:具体化一个连续变量需要的比特位。(个人理解是用在δ\deltaδ趋近于0时候,整体的H变得无穷大)

添加三个限制:

$ \int_{-\infty}^{\infty}p(x)dx = 1 \tag{1.105} $

$ \int_{-\infty}^{\infty}xp(x)dx = \mu \tag{1.106} $

KaTeX parse error: \tag works only in display equations

求极值使用拉格朗日乘数:

KaTeX parse error: No such environment: eqnarray at position 8: \begin{̲e̲q̲n̲a̲r̲r̲a̲y̲}̲ &-& \int_{-\in…
令其导数为零,有:
p(x)=exp{−1+λ1+λ2x+λ3(x−μ)2}(1.108)p(x) = exp\{-1 + \lambda_1 + \lambda_2x + \lambda_3(x - \mu)^2\} \tag{1.108} p(x)=exp{−1+λ1​+λ2​x+λ3​(x−μ)2}(1.108)

代入限制方程有:

$p(x)=\frac{1}{\left(2 \pi \sigma{2}\right){\frac{1}{2}}} \exp \left{-\frac{1}{2 \sigma{2}}(x-\mu){2}\right} \tag{1.109} $
得到高斯分布,最大化微分熵分布就是高斯分布。

求高斯分布的微分熵得到:

H[x]=12{1+ln⁡(2πσ2)}(1.110)H[x] = \frac{1}{2}\{1 + \ln(2\pi\sigma^2)\} \tag{1.110} H[x]=21​{1+ln(2πσ2)}(1.110)

微分熵可以是负的。

对于联合分布p(x,y),我们已知x的话,确定y需要的附加信息就是−lnp(y∣x)-lnp(y|x)−lnp(y∣x)。平均附加信息就可以写成:

H[y∣x]=−∫∫p(y,x)ln⁡p(y∣x)dydx(1.111)H[y|x] = - \int\int p(y,x)\ln p(y|x)dydx \tag{1.111} H[y∣x]=−∫∫p(y,x)lnp(y∣x)dydx(1.111)

这就是条件熵。用乘积规则可以得到:

H[x,y]=H[y∣x]+H[x](1.112)H[x,y] = H[y|x] + H[x] \tag{1.112} H[x,y]=H[y∣x]+H[x](1.112)

参考资料:

http://prml.yutorihiro.com/chapter-1/1-35/

https://lkzf.info/math/prml/1/1.6.html

https://www.slideshare.net/alembert2000/prml-chp1-latter

1.6.1相对熵和互信息

有一个未知分布p(x),我们用近似的分布q(x)对其建模,它们之间的差异(在已知q(x),希望得到p(x),需要的平均附加信息量)为:

KL(p∥q)=−∫p(x)ln⁡q(x)dx−(−∫p(x)ln⁡p(x)dx)=−∫p(x)ln⁡{q(x)p(x)}dx(1.113)\begin{aligned} \mathrm{KL}(p \| q) &=-\int p(\boldsymbol{x}) \ln q(\boldsymbol{x}) \mathrm{d} \boldsymbol{x}-\left(-\int p(\boldsymbol{x}) \ln p(\boldsymbol{x}) \mathrm{d} \boldsymbol{x}\right) \\ &=-\int p(\boldsymbol{x}) \ln \left\{\frac{q(\boldsymbol{x})}{p(\boldsymbol{x})}\right\} \mathrm{d} \boldsymbol{x} \end{aligned} \tag{1.113} KL(p∥q)​=−∫p(x)lnq(x)dx−(−∫p(x)lnp(x)dx)=−∫p(x)ln{p(x)q(x)​}dx​(1.113)

这就是p(x)和q(x)之间的相对熵,也叫做KL散度。不对称的量。

我们要证明KL(p∥q)≥0\mathrm{KL}(p \| q) \geq 0KL(p∥q)≥0且当且仅当p(x)=q(x)时等号成立。先引入凸函数的概念:

f(λa+(1−λ)b)≤λf(a)+(1−λ)f(b)(1.114)f(\lambda a + (1 − \lambda )b) ≤ \lambda f(a) + (1 − \lambda)f(b) \tag{1.114} f(λa+(1−λ)b)≤λf(a)+(1−λ)f(b)(1.114)

这里$ 0 ≤ \lambda ≤ 1 $。凸函数的性质就是任意两点连线在函数上方。二阶导数处处为正

推广:

f(∑i=1Mλixi)≤∑i=1Mλif(xi)(1.115)f\left(\sum_{i=1}^{M} \lambda_{i} x_{i}\right) \leq \sum_{i=1}^{M} \lambda_{i} f\left(x_{i}\right) \tag{1.115} f(i=1∑M​λi​xi​)≤i=1∑M​λi​f(xi​)(1.115)

这里$ \lambda_i \geq 0 且且 且 \sum_i\lambda_i = 1 $,叫做Jensen不等式。

如果把λ\lambdaλ的取值当作概率分布:

f(E[x])≤E[f(x)](1.116)f(\mathbb{E}[x]) \leq \mathbb{E}[f(x)] \tag{1.116} f(E[x])≤E[f(x)](1.116)

对于连续变量的Jensen不等式:

f(∫xp(x)dx)≤∫f(x)p(x)dx(1.117)f\left(\int xp(x)dx\right) \leq \int f(x)p(x)dx \tag{1.117} f(∫xp(x)dx)≤∫f(x)p(x)dx(1.117)

带入1.113KL散度大于等于0得证。

KL(p∥q)=−∫p(x)ln⁡{q(x)p(x)}dx≥−ln⁡∫q(x)dx=0\mathrm{KL}(p \| q)=-\int p(\boldsymbol{x}) \ln \left\{\frac{q(\boldsymbol{x})}{p(\boldsymbol{x})}\right\} \mathrm{d} \boldsymbol{x} \geq-\ln \int q(\boldsymbol{x}) \mathrm{d} \boldsymbol{x}=0 KL(p∥q)=−∫p(x)ln{p(x)q(x)​}dx≥−ln∫q(x)dx=0
利用了-lnx是凸函数的性质。

因为我们不知道p(x)的分布,用q(x∣θ)q(x|\theta)q(x∣θ),想计算KL散度,可以用采样的方式,找到训练点xnx_nxn​个,期望可以用加和计算(参考1.35公式):

KL(p∣∣q)≃∑n=1N{−ln⁡q(xn∣θ)+ln⁡p(xn)}/N(1.119)KL(p||q) \simeq \sum\limits_{n=1}^{N}\{-\ln q(x_n|\theta) + \ln p(x_n)\}/N \tag{1.119} KL(p∣∣q)≃n=1∑N​{−lnq(xn​∣θ)+lnp(xn​)}/N(1.119)
看到第二项和 $\theta 无关,第一项是无关,第一项是无关,第一项是\theta$负对数的似然函数。最小化KL散度就相当于最大化似然函数。

两个变量x,y如果变量不是独立的,我们通过计算联合概率和边缘概率乘积的KL散度,来判断是否接近独立。

KaTeX parse error: No such environment: eqnarray at position 8: \begin{̲e̲q̲n̲a̲r̲r̲a̲y̲}̲ I[x,y] &\equiv…

这是x和y的互信息。也是大于等于零的,在x=y的时候等号成立。利用概率加和和乘积规则:

I[x,y]=H[x]−H[x∣y]=H[y]−H[y∣x](1.121)I[x, y] = H[x] − H[x|y] = H[y] − H[y|x] \tag{1.121}I[x,y]=H[x]−H[x∣y]=H[y]−H[y∣x](1.121)

互信息表示一个新的观测y造成的x的不确定性的减小

参考文献

Bishop, Christopher M. (2006). Pattern recognition and machine learning. New York :Springer

https://github.com/jiangyiqun233/PRML_learning
https://space.bilibili.com/6293151?spm_id_from=333.337.0.0

PRML 模式识别与机器学习 1.绪论相关推荐

  1. 今天开始学模式识别与机器学习(PRML),章节5.1,Neural Networks神经网络-前向网络。

    今天开始学模式识别与机器学习Pattern Recognition and Machine Learning (PRML),章节5.1,Neural Networks神经网络-前向网络. 话说上一次写 ...

  2. 开源!《模式识别与机器学习(PRML)》笔记、代码、NoteBooks 发布

    微软剑桥研究院实验室主任 Christopher Bishop 的经典著作<Pattern Recognition and Machine Learning>,中文译名<模式识别与机 ...

  3. 重磅 | AI 圣经 PRML《模式识别与机器学习》官方开源了!

    红色石头的个人网站:redstonewill.com 红色石头相信任何一个搞机器学习.深度学习的人都应该听说过一本经典教材:<Pattern Recognition and Machine Le ...

  4. 重磅开源 | 机器学习圣经《模式识别与机器学习》中文版PDF!

    今天笔者要推荐的是有机器学习理论圣经之称的<Pattern Recognition and Machine Learning>(模式识别与机器学习,PRML)一书.这本书自07年出版以来, ...

  5. 机器学习(1):绪论

    原文链接:机器学习(1):绪论 | 远行的舟 参考文献:① 周志华. 机器学习[M]. 北京:清华大学出版社. 2016.01. ② 李航. 统计学习方法[M]. 北京:清华大学出版社. 2012.0 ...

  6. 模式识别与机器学习(更新中)

    模式识别与机器学习 使用的教材,PPT为1 公式推导部分直接去看白板推导2,不管是书上还是ppt都写的极其模糊 先说重点: 贝叶斯算概率 参数估计 第二讲 贝叶斯学习基础 贝叶斯公式 先验概率是非条件 ...

  7. Bishop的大作《模式识别与机器学习》Ready to read!

    久仰Bishop的大作"Pattern Recognition and Machine Learning"已久,在我的硬盘里已经驻扎一年有余,怎奈惧其页数浩瀚,始终未敢入手.近日看 ...

  8. 模式识别和机器学习有必要学么_UC Berkeley2019深度学习与应用自然语言处理实战课程分享...

    课程介绍 本课程将自然语言处理作为一套探索和推理文本数据的方法的使用,特别关注NLP的实际应用-以新的创造性方式使用Python中现有的NLP方法和库(而不是探索它们背后的核心算法). 学生将学会应用 ...

  9. 个人喜欢的关于模式识别、机器学习、推荐系统、图像特征等方面个人主页及博客

    个人喜欢的关于模式识别.机器学习.推荐系统.图像特征等方面个人主页及博客 (2014-06-17 00:09:15) 转载▼ 标签: 育儿   目标检测.识别.分类.特征点的提取 David Lowe ...

  10. 计算机视觉与图像处理、模式识别、机器学习学科之间的关系

    在我的理解里,要实现计算机视觉必须有图像处理的帮助,而图像处理倚仗与模式识别的有效运用,而模式识别是人工智能领域的一个重要分支,人工智能与机器学习密不可分.纵观一切关系,发现计算机视觉的应用服务于机器 ...

最新文章

  1. 关于ActionContext.getContext()的使用方法心得
  2. d3力导向图增加节点_D3.js+Es6+webpack构建人物关系图(力导向图),动态更新数据,点击增加节点,拖拽增加连线......
  3. 每天一道LeetCode-----数独盘求解
  4. 真正的动态声明性组件
  5. vscode 配置 git (配置、暂存、推送、拉取、免密)
  6. ul阻燃标准有几个等级_阻燃性弱电电缆种类众多 怎么样选择才合适?
  7. linux的vi详细命令
  8. java文件生成jar包_编译Java文件并生成jar包
  9. POST 方式上传图片
  10. Sql Developer 调试函数和过程 Sql window Command window Program window Test window 区别
  11. supp(f)支撑集
  12. 网页上传文件获取地址的问题
  13. nginx reopen
  14. 【深入理解JVM】:HotSpot垃圾收集器
  15. perl中grep用法总结 z
  16. Better to follow, follow to be better(2019 ICCV)
  17. 控制建模matlab练习02:状态空间方程系统
  18. Android wifi开发包含列表获取点击连接wifi
  19. 组织能力建设的三部曲
  20. 2021科大讯飞试题标签预测挑战赛亚军方案总结

热门文章

  1. php处理har,harviewer har解析工具
  2. 刘意-java基础视频(API-网络编程)笔记
  3. 测试流程,测试用例模板介绍
  4. mysql vs0215_0215 docker环境
  5. Solidworks:Solidworks2016软件程序破解详细攻略说明(也适合长时间没使用SW2016再次破解)
  6. 51单片机入门——数码管
  7. 基于51单片机的超声波红外避障捡拾小车
  8. 人脸识别精度提升 | 基于Transformer的人脸识别(附源码)
  9. 国内首个SENT 信号解析软件 适配NXP KMA321, melexis MLX90372等SENT信号输出芯片 完美替代PicoScope 解析SENT
  10. 计算机漏洞英语怎么说,漏洞英文,漏洞英文发音bug。