【机器学习算法】11、高斯混合模型算法+语音识别项目实战(一)

简介: 【机器学习算法】11、高斯混合模型算法+语音识别项目实战(一)

简介


  高斯混合模型(Gaussian Mixture Model, GMM) 是一种应用广泛的聚类算法。该方法通过对多个高斯模型做线性组合,对样本数据的概率密度分布进行估计,以达到聚类的目的。


   高斯混合模型的主要思想使用高斯分布作为参数模型,并使用期望最大化(EM)算法进行参数估计。其中,每个高斯分布代表一个类。我们将样本数据分别在几个高斯分布上投影, 就得到数据在各个类别上的概率值最大的类作为估计结果。


   从中心极限定理的角度来看,把混合模型假设为高斯模型是较为合理的。当然,也可以根据实际数据假设为任何分布类型的混合模型,不过假设为高斯模型较容易计算和推导。另外,理论上,我们也可以通过增加模型的个数,使高斯混合模型近似任何类型的概率分布。


高斯混合模型的应用领域


(1)数据集分类;

(2)图像分割及特征提取,如医学图像中将直方图的多峰特征看作多个高斯分布的叠加,以解决图像的分割问题;

(3)语音分割及特征提取,如从噪声中提取某个人的声音、 从音乐中提取背景音乐等;

(4)视频分析及特征提取,如智能监控系统中对运动目标检测的检测提取。


高斯混合模型算法流程



高斯混合模型算法具体步骤


(1)构建高斯混合模型;

   首先,需要对高斯混合模型的形式进行改写,以便于使用 EM 算法估计模型参数。高斯混合模型的原始形式如下:

dcc70c64dc7e00cb28b7cc9c7514b06f.png

   其中,K 表示高斯分布模型的个数,K 个模型就对应 K 个聚类。πk为第 k 个模型的权重,也可以看成第 k 类被选中的概率, 引入一个新的 K 维随机变量 z,zk只能取 0 或 1 两个值。zk=1 表示第 k 类被选中的情况,即 p(zk=1)=πk;zk=0 表示第 k 类未被选中的情况。zk 满足以下两个条件:

64839ce6cec1923376c3b817bf217ea1.png

   假设 zk 之间是独立同分布的,可以写出 z 的联合概率分布形式:

dcc70c64dc7e00cb28b7cc9c7514b06f.png

每一类中的数据都服从高斯分布, 用条件概率的形式表示如下:

482a9764ae1e04a0c17aa5cf7b799a6e.png

进而可以写出如下的形式:

29081c4777acab6ccbff55f42a9b6354.png

根据条件概率公式, 可以求出 p(x)的形式:

4550d769a2c0eeba26981296b538b4c5.png

   式(6)为改进后的高斯混合模型,可以看出该式与原始模型有一样的形式。式(6)中引入了新的变量 z,但 zk=0 的项为 1,省略。变量 z 通常称为隐变量。“隐变量” 的意思是:随机选择一个数据点,但是不知道该数据点属于哪一类,数据点的归属观察不到,因此引入隐变量 z 来描述这一现象。


   在贝叶斯的思想下,能够求得后验概率 p(z|x):

3f648c59393c256e242665d212995547.png


(2)EM 算法估计模型参数:

  假设样本数据X={x1,x2,...,xN},高斯混合模型有3个参数需要估计,分别是πk、μk 和Σk。为了估计折3个参数,需要分别求解出这3个参数的最大似然函数。


①初始化模型数目K,对每个模型k设置πk、μk和Ck的初始值。

方案1:将协方差矩阵Ck设置为单位矩阵,每个模型的权重πk=1/K,均值μk设为随机数;

方案2:用K-Means聚类算法对样本进行聚类,得到K值,然后利用各类的均值作为μk,并计算协方差矩阵Σkπk 取各类样本占样本总数的比例。


②估计步骤(E-Step),计算后验概率γ (znk):

根据当前的πk、μk 和Σk,计算后验概率γ(znk)

fa1934f70811f66fa927013b1fc0744e.png

③最大化步骤(M-Step), 更新参数:

根据E-Step中计算的γ(znk)再计算新的πk、μk 和Σk

337e5d48fe005bd26f0da0f47ffd4528.png

N表示样本数量的量,γ(znk)表示数据n属于聚类k的后验概率。Nk表示属于第k个聚类的数据的量。μknew表示第k类数据的加权平均,每个样本数据的权值式γ(znk),跟第 k 个聚类有关。


④收敛条件

计算模型的对数似然函数:

fa93011e1c8079779d54f23b6ba7865a.png

检查参数是否收敛或对数似然函数是否收敛,收敛则推出迭代,否则返回第②步。


算法的改进与优化


   因提出时间较早,随着其他技术的不断更新和完善,高斯混合模型的诸多不足之处也逐渐显露,因此许多高斯混合模型的改进算法也应运而生。高斯混合模型是用高斯概率密度函数精确地量化事物,它是一个将事物分解为若干基于高斯概率密度函数形式的模型。在这个过程中,容易出现K值固定导致估计参数不具有最优性的问题。针对以上算法的不足之处,算法的改进主要为自适应调整K的值。


   高斯混合模型保持固定不变的高斯混合模型的个数K,会造成系统运算资源的浪费。一种改进方法式利用最大似然估计提出高斯混合模型个数的选择方法,引入了负的先验概率,当权值小于阈值时,减少高斯混合模型的个数。另一种改进方法是消除混合分量,在此判断 K 的最优值,从而使高斯混合模型对数据集进行最佳拟合。如果两个混合分量有相同的参数,在混合分量中采用竞争原则,将不必要的分量消除。

相关实践学习
达摩院智能语音交互 - 声纹识别技术
声纹识别是基于每个发音人的发音器官构造不同,识别当前发音人的身份。按照任务具体分为两种: 声纹辨认:从说话人集合中判别出测试语音所属的说话人,为多选一的问题 声纹确认:判断测试语音是否由目标说话人所说,是二选一的问题(是或者不是) 按照应用具体分为两种: 文本相关:要求使用者重复指定的话语,通常包含与训练信息相同的文本(精度较高,适合当前应用模式) 文本无关:对使用者发音内容和语言没有要求,受信道环境影响比较大,精度不高 本课程主要介绍声纹识别的原型技术、系统架构及应用案例等。 讲师介绍: 郑斯奇,达摩院算法专家,毕业于美国哈佛大学,研究方向包括声纹识别、性别、年龄、语种识别等。致力于推动端侧声纹与个性化技术的研究和大规模应用。
相关文章
|
3月前
|
机器学习/深度学习 数据采集 人工智能
【机器学习算法篇】K-近邻算法
K近邻(KNN)是一种基于“物以类聚”思想的监督学习算法,通过计算样本间距离,选取最近K个邻居投票决定类别。支持多种距离度量,如欧式、曼哈顿、余弦相似度等,适用于分类与回归任务。结合Scikit-learn可高效实现,需合理选择K值并进行数据预处理,常用于鸢尾花分类等经典案例。(238字)
|
4月前
|
机器学习/深度学习 人工智能 JSON
微软rStar2-Agent:新的GRPO-RoC算法让14B模型在复杂推理时超越了前沿大模型
Microsoft Research最新推出的rStar2-Agent在AIME24数学基准测试中以80.6%的准确率超越超大规模模型DeepSeek-R1,展现“思考更聪明”而非“更长”的AI推理新方向。
190 8
微软rStar2-Agent:新的GRPO-RoC算法让14B模型在复杂推理时超越了前沿大模型
|
4月前
|
机器学习/深度学习 传感器 算法
【无人车路径跟踪】基于神经网络的数据驱动迭代学习控制(ILC)算法,用于具有未知模型和重复任务的非线性单输入单输出(SISO)离散时间系统的无人车的路径跟踪(Matlab代码实现)
【无人车路径跟踪】基于神经网络的数据驱动迭代学习控制(ILC)算法,用于具有未知模型和重复任务的非线性单输入单输出(SISO)离散时间系统的无人车的路径跟踪(Matlab代码实现)
290 2
|
4月前
|
机器学习/深度学习 并行计算 算法
【CPOBP-NSWOA】基于豪冠猪优化BP神经网络模型的多目标鲸鱼寻优算法研究(Matlab代码实现)
【CPOBP-NSWOA】基于豪冠猪优化BP神经网络模型的多目标鲸鱼寻优算法研究(Matlab代码实现)
107 8
|
4月前
|
机器学习/深度学习 资源调度 算法
遗传算法模型深度解析与实战应用
摘要 遗传算法(GA)作为一种受生物进化启发的优化算法,在复杂问题求解中展现出独特优势。本文系统介绍了GA的核心理论、实现细节和应用经验。算法通过模拟自然选择机制,利用选择、交叉、变异三大操作在解空间中进行全局搜索。与梯度下降等传统方法相比,GA不依赖目标函数的连续性或可微性,特别适合处理离散优化、多目标优化等复杂问题。文中详细阐述了染色体编码、适应度函数设计、遗传操作实现等关键技术,并提供了Python代码实现示例。实践表明,GA的成功应用关键在于平衡探索与开发,通过精心调参维持种群多样性同时确保收敛效率
|
4月前
|
机器学习/深度学习 边缘计算 人工智能
粒子群算法模型深度解析与实战应用
蒋星熠Jaxonic是一位深耕智能优化算法领域多年的技术探索者,专注于粒子群优化(PSO)算法的研究与应用。他深入剖析了PSO的数学模型、核心公式及实现方法,并通过大量实践验证了其在神经网络优化、工程设计等复杂问题上的卓越性能。本文全面展示了PSO的理论基础、改进策略与前沿发展方向,为读者提供了一份详尽的技术指南。
粒子群算法模型深度解析与实战应用
|
4月前
|
机器学习/深度学习 运维 算法
基于粒子群优化算法的配电网光伏储能双层优化配置模型[IEEE33节点](选址定容)(Matlab代码实现)
基于粒子群优化算法的配电网光伏储能双层优化配置模型[IEEE33节点](选址定容)(Matlab代码实现)
298 0
|
4月前
|
并行计算 算法 语音技术
基于MFCC(梅尔频率倒谱系数)和GMM(高斯混合模型)的语音识别
基于MFCC(梅尔频率倒谱系数)和GMM(高斯混合模型)的语音识别
|
4月前
|
机器学习/深度学习 数据采集 传感器
【WOA-CNN-LSTM】基于鲸鱼算法优化深度学习预测模型的超参数研究(Matlab代码实现)
【WOA-CNN-LSTM】基于鲸鱼算法优化深度学习预测模型的超参数研究(Matlab代码实现)
289 0
|
5月前
|
传感器 算法 定位技术
KF,EKF,IEKF 算法的基本原理并构建推导出四轮前驱自主移动机器人的运动学模型和观测模型(Matlab代码实现)
KF,EKF,IEKF 算法的基本原理并构建推导出四轮前驱自主移动机器人的运动学模型和观测模型(Matlab代码实现)
178 2

相关产品

  • 人工智能平台 PAI
  • 智能语音交互