高斯分布/概率分布总结

频率派——统计机器学习

频率派认为 θ \theta θ是未知的变量, X X X服从概率分布,然后通过极大似然估计求参。
似然: P ( X ∣ θ ) P(X|\theta) P(Xθ),X是确定的,而 θ \theta θ是变量,它描述对于不同的 θ \theta θX出现的概率是多少。所以我们需要最大化似然函数 P ( X ∣ θ ) P(X|\theta) P(Xθ),来求出最适合的参数。

高斯分布

在实际生活中,很多问题的数据可以被建模成包含一定噪声的高斯分布模型
高斯分布模型是具有如下概率分布的模型: θ : ( u , o ) \theta:(u,o) θ:(u,o)
p ( x ∣ θ ) = 1 2 Π e x p − ( x − u ) 2 2 o 2 p(x|\theta)=\frac{1}{\sqrt{2Π}}exp^{-\frac{(x-u)^2}{2o^2}} p(xθ)= 1exp2o2(xu)2,它代表随机变量 x i x_i xi取不同值的概率大小,u表示高斯分布的均值,o代表分布的标准差。
假设有一批n个样本的数据服从高斯分布, d a t a = ( x 1 , x 2 . . . x n ) n , p data=(x_1,x_2...x_n)_{n,p} data=(x1,x2...xn)n,p每个 x i x_i xi的似然函数是 p ( x i ∣ θ ) p(x_i|\theta) p(xiθ),它表达每个样本在不同 θ \theta θ下的出现的概率。
那么所有data的对数似然是 l o g P ( X ∣ θ ) = l o g ∏ i = 1 n P ( x i ∣ θ ) = ∑ i = 1 n l o g P ( x i ∣ θ ) = ∑ l o g 1 2 Π e x p − ( x − u ) 2 2 o 2 logP(X|\theta)=log\prod_{i=1}^nP(x_i|\theta)=\sum_{i=1}^nlogP(x_i|\theta)=\sum log\frac{1}{\sqrt{2Π}}exp^{-\frac{(x-u)^2}{2o^2}} logP(Xθ)=logi=1nP(xiθ)=i=1nlogP(xiθ)=log 1exp2o2(xu)2
下面我们需要极大化似然函数来求参 θ : ( 方差,标准差 ) \theta:(方差,标准差) θ(方差,标准差)
a r g m a x l o g ∏ i = 1 n P ( x i ∣ θ ) argmaxlog\prod _{i=1}^nP(x_i|\theta) argmaxlogi=1nP(xiθ)等价于极小化负对数似然
m i n : − l o g ∏ i = 1 n P ( x i ∣ θ ) min:-log\prod_{i=1}^n P(x_i|\theta) min:logi=1nP(xiθ),简写: m i n : − l o g ∏ i = 1 n P ( x i ) = − ∑ i = 1 n l o g ∏ k K p k y = − ∑ i = 1 n ∑ k = 1 K y k ∗ l o g p k min:- log\prod_{i=1}^nP(x_i)=-\sum_{i=1}^n log\prod_k^K p_k^y=-\sum_{i=1}^n \sum_{k=1}^K y_k*logp_k min:logi=1nP(xi)=i=1nlogkKpky=i=1nk=1Kyklogpk
其中 P ( x i ) = ∏ k = 1 K p k y P(x_i)=\prod_{k=1}^Kp_k^{y} P(xi)=k=1Kpky
注意: p k 代表该样本预测为类别 k 的概率 p_k代表该样本预测为类别k的概率 pk代表该样本预测为类别k的概率, 本质上等于交叉熵损失函数

关于高斯分布的理解:

我们假设数据服从高斯分布,开始并不知道分布的均值和方差,那我们就需要求这个数据的均值和方差,那怎么求呢?
我们可以通过算法(EM,感知机)来用模型去拟合数据,模型提供预测概率分布,数据服从真实概率分布,随着模型的训练,预测概率分布在逐渐拟合真实概率分布,那如何衡量两个分布的差异?我们用到KL散度,似然函数,交叉熵。接下来我们需要使得两个分布更加接近, 那就需要最小化两个分布的差异(最小化交叉熵…)。模型参数在不断更新,在这个过程中(最小化损失函数)也是在最大化每个预测样本的似然函数,使每个样本更接近真实分布。本质上是在更新预测概率分布的均值和方差,直到最后收敛,我们可以找到最接近真实概率分布的均值和方差了。
如果有两个类别的数据,那么这两个类别的数据分布是不一样的,我们最终要求的是两个高斯分布分别的均值和方差。

模型的EM训练过程,直观的来讲是这样:我们通过观察样本的真实概率值和模型预测概率值的接近程度,来判断一个模型是否拟合良好。然后我们通过调整模型以让新模型更适配采样的真实概率值。反复迭代这个过程很多次,直到两个概率值非常接近时,我们停止更新并完成模型训练。
现在我们要将这个过程用算法来实现,所使用的方法是模型生成的数据来决定似然值,即通过模型来计算数据的期望值。通过更新参数μ和σ来让期望值最大化。这个过程可以不断迭代直到两次迭代中生成的参数变化非常小为止。该过程和k-means的算法训练过程很相似(k-means不断更新类中心来让结果最大化),只不过在这里的高斯模型中,我们需要同时更新两个参数:分布的均值和标准差.

你可能感兴趣的:(统计机器学习,机器学习,算法,人工智能)