sigma

用EM算法求解高斯混合模型

喜夏-厌秋 提交于 2019-12-06 01:45:48
本文从高斯混合模型出发,引出EM算法,最后回归到利用EM算法求解高斯混合模型。理论部分力求详尽不留证明疑点,所以略显冗长。实验部分给出了生成高斯混合分布样本和利用EM算法求解高斯混合模型的matlab代码。 理论部分 高斯混合模型(GMM) 顾名思义,高斯混合模型就是由多个高斯分布混合构成的模型。 K K K 高斯混合分布的概率密度为: p ( x ) = ∑ k = 1 K ϕ k N ( x ∣ μ k , Σ k ) . p(\mathbf{x})=\sum_{k=1}^K \phi_k\mathcal{N}(\mathbf{x}|\boldsymbol{\mu}_k,\boldsymbol{\Sigma}_k). p ( x ) = k = 1 ∑ K ​ ϕ k ​ N ( x ∣ μ k ​ , Σ k ​ ) . 这里, ∑ k = 1 K ϕ k = 1 \sum_{k=1}^{K}\phi_k=1 ∑ k = 1 K ​ ϕ k ​ = 1 为混合系数, N ( x ∣ μ , Σ ) = 1 ( 2 π ) D / 2 1 ∣ Σ ∣ 1 / 2 exp ⁡ { − 1 2 ( x − μ ) T Σ − 1 ( x − μ ) } \mathcal{N}(\mathbf{x}|\boldsymbol{\mu},\boldsymbol{\Sigma})=

LMS自适应天线阵列设计 MATLAB

旧城冷巷雨未停 提交于 2019-12-05 20:34:48
在自适应天线课上刚刚学了LMS自适应阵,先出一个抢先版贴一下结果,抢先某个小朋友一步。 关于LMS的具体介绍,直接看wiki里的吧,解释的比书上简明: 传送门:https://en.wikipedia.org/wiki/Least_mean_squares_filter 话不多说,先贴代码: 1 % 2 % Multi-Elements Adaptive Antennas Array Based on LMS Algotism 3 % 4 % first draft: 2019/11/27 16:45 5 % latest update: 2019/11/27 19:40 6 % 7 %---------------------------------------------------------------------- 8 close all 9 clear 10 tic 11 % ------------------------ 参数设置 ------------------------- 12 N = 18; % 阵元数 13 wd = 2 * pi * 500 * 10^6; % 工作角频率 14 theta = 0 : 0.01 : 2 * pi; % 方向角(360度) 15 theta_d = (30 / 180) * pi; % 信号来向 16 theta_i

环与理想

≡放荡痞女 提交于 2019-12-05 18:15:11
环 环的定义: 设R是具有两种运算的非空集合,如果以下条件成立: i)R对于加法构成一个交换群 ii)R上的乘法有,对于任意的a, b, c \(\in\) R,有(ab)c = a(bc) iii)对任意的a, b, c \(\in\) R,有(a+b)c = ac + bc,a(b+c) = ab + ac 则称R为一个环 换句话说,如果R对于加法运算满足交换群的定义,对于乘法满足广群的定义,并且满足分配律,则R是一个环。 Notation: i)如果环的乘法满足交换律,则称R为 交换环 ii)如果R中有一个元素e = \(1_R\) 对于R上的乘法有 \(\forall a\in R, a1_R = 1_R a=a\) ,则称R为 有单位元环 ,或者称为 含幺环 iii)如果R中存在两个不为零的元素a, b对于R上的乘法满足ab=0,则称R为 有零因子环 iv)如果R同时为一个交换环和一个含幺环,但没有零因子,则称R为 整环 环的性质 1.对任意的a \(\in\) R,有0a=a0=0 证明. \(\because\) 0a=(0+0)a=0a+0a \(\therefore\) 0a=0 同理可得 a0 = 0 2.对任意的a,b \(\in\) R,有(-a)b = a(-b) = -(ab) 证明. \(\because\) (-a)b+ab=(-a+a)b=0b=0

群的结构

不打扰是莪最后的温柔 提交于 2019-12-05 18:08:12
子群的生成 定义: 设G是一个群,X是G的一个子集,设 \(\{H_i \}_{i \in I}\) 是G的包含X的所有子群,则 \(\bigcap_{i\in I}H_i\) 构成G的一个子群,叫做G的由X生成的子群,记为 。 证明. \(\forall a,b\in \bigcap_{i\in I}H_i, a,b\in H_i,for\space all\space i\in I\) 由于 \(H_i\) 是各自为一个群,则 \(ab^{-1}\in H_i,for\space all\space i\in I\) \(\therefore ab^{-1}\in\bigcap_{i\in I}H_i\) \(\therefore \bigcap_{i\in I}H_i\) 是G的一个子群 Notation: X的元素称为子群 的生成元,如果X={ \(a_1,\cdots,a_n\) },则可以将 记为< \(a_1,\cdots,a_n\) >。如果G=< \(a_1,\cdots,a_n\) >,则称G是有限生成的,特别的,如果G= ,则称G为a生成的循环群。 下面给出生成子群中元素的显示表示: 设G是一个群,X=< \(a_1,\cdots,a_t\) >是G的一个子集则, ={ \(a_1^{n_1}\cdots a_t^{n_t} | a_i\in X,n_i\in

线性代数之——对角化和伪逆

不问归期 提交于 2019-12-05 17:58:11
这部分我们通过选择更好的基底来产生更好的矩阵。当我们的目标是对角化矩阵时,一个选择可以是一组特征向量基底,另外一个选择可以是两组基底,输入基底和输出基底是不一样的。这些左右奇异向量是矩阵四个基本子空间中标准正交的基向量,它们来自于 SVD。 事实上,所有对 \(A\) 的分解都可以看作是一个基的改变。在这里,我们只关注两个突出的例子,有一组基的 \(\Lambda\) 和有两组基的 \(\Sigma\) 。 \(S^{-1} AS=\Lambda\) 如果输入和输出基都是 \(A\) 的特征值。 \(U^{-1} AV=\Sigma\) 如果这些基分别是 \(A^TA\) 和 \(AA^T\) 的特征值。 只有当 \(A\) 是方阵并且有 \(n\) 个不相关的特征向量时,我们才能将其对角化成 \(\Lambda\) 。而通过 SVD,任意矩阵都可以对角化成 \(\Sigma\) 。如果一个矩阵是对称的、反对称的或者正交的,那么有 \(A^TA=AA^T\) ,在这种情况下,奇异值是特征值的绝对值,上面的两个对角化形式除了一个 \(-1\) 或者 \(e^{i\theta}\) 的因子外是相同的。 另外,注意 Gram-Schmidt 分解 \(A=QR\) 只选择了一个新的基底,也就是通过 \(Q\) 给出的输出正交基,而输入基底则是标准基由 \(I\) 给出

线性代数之——SVD 分解

橙三吉。 提交于 2019-12-05 12:23:36
SVD 分解是线性代数的一大亮点。 1. SVD 分解 \(A\) 是任意的 \(m×n\) 矩阵,它的秩为 \(r\) ,我们要对其进行对角化,但不是通过 \(S^{-1}A S\) 。 \(S\) 中的特征向量有三个大问题:它们通常不是正交的;并不总是有足够的特征向量; \(Ax=\lambda x\) 需要 \(A\) 是一个方阵。 \(A\) 的奇异向量很好地解决了上述所有问题。 代价是我们需要两组奇异向量,一组是 \(\boldsymbol{u}\) , 一组是 \(\boldsymbol{v}\) 。 \(\boldsymbol{u}\) 是 \(AA^T\) 的特征向量, \(\boldsymbol{v}\) 是 \(A^TA\) 的特征向量,因为这两个矩阵都是对称矩阵,我们可以选出一组标准正交的特征向量。即: \[AA^T=U\Sigma^2U^T \quad A^TA =V\Sigma^2V^T\] 证明: 让我们从 \(A^TAv_i=\sigma_i^2v_i\) 开始,两边同乘以 \(v_i^T\) ,有: \[v_i^TA^TAv_i=\sigma_i^2v_i^Tv_i=\sigma_i^2 \to ||Av_i||=\sigma_i\] 这说明向量 \(Av_i\) 的长度为 \(\sigma_i\) 。然后两边同乘以 \(A\) ,有: \[AA^T

Image Processing - Otsu's method

最后都变了- 提交于 2019-12-03 21:37:49
Otsu's method 是一种图像自动阈值的方法,该方法返回一个将图像分为“前景”和“背景”两类的数值,该数值使得上述两类的类内方差最小,即类间方差最大。 图1 原图像 图2 使用 Otsu's method 进行二值化后的图像 算法 \[ \sigma _{w}^{2}(t)=\omega _{0}(t)\sigma _{0}^{2}(t)+\omega _{1}(t)\sigma _{1}^{2}(t) \] 其中, \(t\) 是将图像分为“前景”和“背景”两类的阈值, \(\omega _{0}\) 和 \(\omega _{1}\) 分别是这两个类的加权数,而 \(\sigma _{0}^{2}\) 和 \(\sigma _{1}^{2}\) 分别是这两个类的方差。 图3 算法可视化动图 ## 参考 Wikipedia - Otsu's method The Lab Book Pages - Otsu Thresholding 来源: https://www.cnblogs.com/zdfffg/p/11809719.html

python pylab plot normal distribution

匿名 (未验证) 提交于 2019-12-03 09:14:57
可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试): 问题: Given a mean and a variance is there a simple pylab function call which will plot a normal distribution? Or do I need to make one myself? 回答1: import matplotlib.pyplot as plt import numpy as np import matplotlib.mlab as mlab import math mu = 0 variance = 1 sigma = math.sqrt(variance) x = np.linspace(mu - 3*sigma, mu + 3*sigma, 100) plt.plot(x,mlab.normpdf(x, mu, sigma)) plt.show() 回答2: I don't think there is a function that does all that in a single call. However you can find the Gaussian probability density function in scipy.stats . So the

scipy, lognormal distribution - parameters

匿名 (未验证) 提交于 2019-12-03 09:02:45
可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试): 问题: I want to fit lognormal distribution to my data, using python scipy.stats.lognormal.fit . According to the manual , fit returns shape, loc, scale parameters. But, lognormal distribution normally needs only two parameters : mean and standard deviation. How to interpret the results from scipy fit function? How to get mean and std.dev.? 回答1: The distributions in scipy are coded in a generic way wrt two parameter location and scale so that location is the parameter ( loc ) which shifts the distribution to the left or right, while scale is the

Bayesian Correlation with PyMC3

匿名 (未验证) 提交于 2019-12-03 08:59:04
可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试): 问题: I'm trying to convert this example of Bayesian correlation for PyMC2 to PyMC3, but get completely different results. Most importantly, the mean of the multivariate Normal distribution quickly goes to zero, whereas it should be around 400 (as it is for PyMC2). Consequently, the estimated correlation quickly goes towards 1, which is wrong as well. The full code is available in this notebook for PyMC2 and in this notebook for PyMC3 . The relevant code for PyMC2 is def analyze(data): # priors might be adapted here to be less flat mu = pymc