前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >概率分类法

概率分类法

作者头像
小小杨
发布于 2021-10-13 02:14:05
发布于 2021-10-13 02:14:05
8040
举报
文章被收录于专栏:下落木下落木

概率分类法

神经网络直接模拟了P(w1|x)和P(w2|x),也就是x属于某一类的概率。

神经网络已经把先验概率包含进去了,比如尽量使训练样本和测试样本的正反例比例差不多,否则模型不准。把所有样本先打乱,就是保证前面所说的。

必须非常关注先验概率,否则达不到想要的效果。

  • P(w1), P(w2)叫做w的先验概率
  • P(x|w1), P(x|w2)叫做x在w上的条件概率
  • P(w1|x), P(w2|x)叫做x在w上的后验概率

若不知道先验概率,则假设所有先验概率一样。比如掷骰子。那么问题变成求P(x|w),这种问题被称为概率密度估计问题

朴素贝叶斯

假设X的每个维度离散且独立。

应用:垃圾邮件分类

一封邮件由多个单词构成。垃圾邮件中每个单词并不独立,但实践表明分类结果还可以。

学习p(d|C1)和p(d|C2)

比如,垃圾邮件中“好”出现的次数除以垃圾邮件总的词数,或者非垃圾邮件中“好”出现的次数除以非垃圾邮件总的词数。就是数个数。

训练的时候,是获得P(w|C),测试的时候是查表。

如果一个单词训练的时候没有出现,而测试的时候出现了,就会两个类P都是0。显然是不允许的,所以分子+1, 分母+|v|,使得没有出现的单词的概率始终是1/|v|, V是单词个数。

最后不要忘了先验概率。

高斯概率密度函数

多维求解:

独立同分布,所以P可以乘起来,设了一个ln,所以可以加起来。

最后得到u是均值,Σ是协方差矩阵。

由上面我们得到概率分类法的流程:

高斯混合模型

很多情况下,不是单高斯模型,而是多个高斯模型叠加。

高斯混合模型:k个高斯模型

求解高斯混合模型的几种方法:

EM算法(Expectation-Maximization algorithm)

高斯混合模型是非凸问题,无法求全局极值,只能求局部极值

EM算法是求局部极值的算法,不能求全局极值。只能对某一类局部极值问题可解。而梯度下降、启发式方法等可以求解任何求局部极值问题。

EM算法优点

  1. 不需要调任何参数
  2. 编程简单
  3. 理论优美

高斯混合模型,是先有鸡还是先有蛋的问题,先假设样本的label,还是先假设分布(u、Σ、π)。

高斯混合模型EM算法流程

  • γnk是第n个样本落在第k个高斯的概率
  • Nk:所有N个样本中有多少个属于第k个高斯模型,注意是软判别,就是以该概率的形式,所以Nk不一定为整数。
  • πk是第k个高斯的先验概率。μk是第k个高斯的均值。
  • 接下来,用样本做了平均,πk=Nk/N,也就是样本中有多少个落入了第k个高斯,那么第k个高斯的概率就是多少。
  • 除以Nk是为了归一化。

K-均值聚类(K-means Clustering)

K-均值聚类是另一个EM算法例子:

黑板右侧是证明EM算法在K-均值问题中收敛。

依然是先有鸡还是先有蛋的问题。如果知道了K个类别的中心,那么样本离谁近,就归为谁。如果知道了样本的归属,那么类别的中心就很可以很容易算出来。

EM算法求K-均值流程:

假设知道了K个类别的中心,接下来为每个xi分配属于哪个类,就是离谁近就属于谁。

  • Nk:所有N个样本中有多少个属于第k类。
  • μk是第k类样本的均值

基于K-均值聚类的图像矢量量化

512*512,RGB三个通道,每个通道8个bit,存储一幅图片需要512*512*24bit。

24个bit表达的颜色有2^24种,但实际上并不需要这么多。对图像中的颜色进行聚类,比如K=64,就把图像中的颜色分为64种。传输时,传递的是64个(R,G,B),以及512*512个1到64的数。

矢量量化的基本原理是用码书中与输入矢量最匹配的码字的索引代替输入矢量进行传输与存储,而解码时仅需要简单地查表操作。其突出优点是压缩比大、解码简单且能够很好地保留信号的细节。

高斯混合模型 – 说话人识别

Speaker Recognition,说话人识别,又称为声纹识别,就是通过语音语调判断说话人识别,跟人脸识别一样。

Preprocessing预处理

1. 去除静音

通过能量方式,会去掉不发音的辅音,比如ma中的m,如何区分呢?用过零率。

在离散时间语音信号情况下,如果相邻的采样具有不同的代数符号就称为发生了过零。单位时间内过零的次数就称为过零率。静音过零率比较低,非静音过零率比较高。

2. 提取的特征:MEL倒谱系数 (Mel-frequency Cepstrum Coefficients, MFCC)

把声音反推回声道模型,计算出管子不同部位的高和宽。以物理方式做的特征,基本上能保证很高的识别率:

将语音分成小段(Segments),分段推荐设置为:每段长度20ms, 每隔10ms采一段,这样1秒钟语音能够获得100段(采样有重叠)。

对每一段,提取一个cepstral vector,vector的维度可以根据设置调整,一般可取12,24,36等。

这里是,与内容无关的说话人识别,不限制说话内容,要求说话时间长,识别准确率比较低,而与内容相关的说话人识别,要求的说话时间短,识别准确率较高。微信中的说固定数字就是后者,text-dependence。

数据库:XM2VTS, 由295人构成,每人24个声音文件,分四次录制,每次6个,每次间隔时间一个月。

例如:

  • 文件1和4:’zero one two three four five six seven eight ten’
  • 文件2和5:’five zero six nine two eight one three seven four’
  • 文件3和6:’Joe took father’s green shoe bench out’

用前两次的12个文件训练,用后两次的12个文件测试。

  • 假设K=64,即64类,Σ(协方差矩阵)是对角阵,否则参数过多。
  • πi参数共63个,剩下一个是1减去所有
  • 每一个μ的维度和X的维度一样,所有μi参数个数共有36*64个
  • σi参数个数也是有36*64个

识别率

前4行意思是,用1次录制的声音进行训练,用剩下的声音进行测试的结果。

注意,瞎猜的概率是1/295,所以这里的识别率很高。

这种方法的缺点是加了噪声后,识别率降低,因为噪声改变了x的分布。

EM算法收敛性证明

做一个变换,分子分母同乘以Qi(Zi):

隐含变量Zi,在高斯混合模型中的意思是每个样本属于第k个高斯的概率,在k-均值中的意思是每个样本属于第k类的概率。

EM算法的一般形式:

第3步是,找一个使后面式子最大的θ

收敛性证明:

而p都小于1,所以E<0,有上界,一定收敛

通过EM算法一般形式再次定义K-均值算法:

K-均值具体流程:

从而求得:

EM算法缺点

EM算法是求局部极值的算法,和其他求局部极值的方法一样,它的缺点也是结果和初始值选取有关。

可以看出左侧比右侧的平方和要小,但是没法从右侧收敛到左侧。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-06-08,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 下落木 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
换一个角度看 B+ 树
大家背八股文的时候,都知道 MySQL 里 InnoDB 存储引擎是采用 B+ 树来组织数据的。
小林coding
2021/12/16
6290
换一个角度看 B+ 树
深入浅出——深入分析MySQL索引和B+树(基于InnoDB和MyISAM引擎分析),看完直呼:妙哉!
索引是数据库提供的利于快速查询的机制,索引类似于书籍目录,当查询条件那一列建立了索引之后,那么数据库会去硬盘索引文件中找到满足查询条件的(数据的)物理位置, 根据位置就可以定位并获取到数据。
Karos
2023/06/17
1.4K0
深入浅出——深入分析MySQL索引和B+树(基于InnoDB和MyISAM引擎分析),看完直呼:妙哉!
快速查询的秘籍—B+树索引下
大家好,我是热心的大肚皮,皮哥。今天我们接着聊一聊索引,不多说,开整。
热心的大肚皮
2023/02/28
3460
快速查询的秘籍—B+树索引下
Innodb的B+树索引(1)
在之前3月17号和4月9号的文章中,我们讲过innodb的数据页结构,如果对下面的内容有什么不理解的话,还请在文章分类中翻看之前的文章,防止大家忘记,这里我把图再贴过来:
AsiaYe
2019/11/06
4660
Innodb的B+树索引(1)
详解B+树及其正确打开方式
前面我们知道了InnoDB数据页的7个组成部分,各个数据页组成了一个双向链表,而每个数据页中的记录按照主键从小到大的顺序组成一个单链表,每个数据页中为这些记录生成了一个目录,可以采用二分法查找,提升查询速度。
陈琛
2020/06/12
7050
详解B+树及其正确打开方式
MySQL中InnoDB及索引深入剖析
我的博客: https://www.luozhiyun.com/archives/273
luozhiyun
2020/04/24
7580
MySQL中InnoDB及索引深入剖析
全面透彻,深刻理解 MySQL 索引
对于 MySQL 索引,相信每位后端同学日常工作中经常会用到,但是对其索引原理,却可能未曾真正深入了解。B- 树和 B+ 树是 MySQL 索引使用的数据结构,对于索引优化和原理理解都非常重要,下面就揭开 B- 树和 B+ 树的神秘面纱,让大家在面试的时候碰到这个知识点一往无前,不再成为你前进的羁绊!
架构精进之路
2024/05/29
2140
全面透彻,深刻理解 MySQL 索引
MySql进阶索引篇01——深度讲解索引的数据结构:B+树
索引是存储引擎中一种用于快速找到数据的存储结构,他就像《新华字典》的目录,可以使我们查每个字的速度大大提升。
半旧518
2022/10/26
2.5K0
MySql进阶索引篇01——深度讲解索引的数据结构:B+树
数据库之索引总结
索引在数据库中可以说是相当重要的一块知识点了,也是面试经常被问的,这篇文章就总结一下索引相关的知识点,包括索引的底层实现原理,索引的分类,最左匹配原则等。
秃头哥编程
2019/06/17
8370
数据库之索引总结
「Mysql索引原理(六)」聚簇索引
本节课主要关注InnoDB,但是这里讨论的原理对于任何支持聚簇索引的存储引擎都是适用的。
源码之路
2020/09/04
3.2K0
「Mysql索引原理(六)」聚簇索引
InnoDB为什么使用B+树实现索引?
InnoDB 为什么使用 B+树实现索引?说到这个话题,就需要先聊一聊 InnoDB 的索引类型有哪些?
@派大星
2024/05/29
1970
InnoDB为什么使用B+树实现索引?
MySQL的B+tree索引实现原理
官方定义:索引(Index)是帮助MySQL高效获取数据的数据结构,即索引是数据结构。 其出现就是为了提高数据查询效率,就像书的目录。
JavaEdge
2021/02/22
6570
MySQL的B+tree索引实现原理
MySQL索引的原理,B+树、聚集索引和二级索引的结构分析
索引是一种用于快速查询行的数据结构,就像一本书的目录就是一个索引,如果想在一本书中找到某个主题,一般会先找到对应页码。在mysql中,存储引擎用类似的方法使用索引,先在索引中找到对应值,然后根据匹配的索引记录找到对应的行。
码农架构
2020/10/29
3.9K0
MySQL索引的原理,B+树、聚集索引和二级索引的结构分析
MySQL——索引
今天这篇文章主要的内容是我们最熟悉也是面试频率最高的MySQL的索引,我们会从索引的产生开始讲起,从而引出B树和B+树,然后在接入到正题——索引。那么文章大纲如下:
爪哇缪斯
2023/05/10
1870
MySQL——索引
第06章_索引的数据结构
🧑个人简介:大家好,我是 shark-Gao,一个想要与大家共同进步的男人😉😉
程序员Leo
2023/08/02
2270
第06章_索引的数据结构
MySQL笔记-索引
简单来说,索引的出现是为了提高查询效率,就像书的目录一样。MySQL 的索引是在「存储引擎」层实现的,因此没有统一的标准,同一种类型的索引,在不同存储引擎之间实现可能也不同。本文主要分析 InnoDB 存储引擎的索引结构。
WriteOnRead
2019/09/19
5460
MySQL笔记-索引
图解 MySQL 索引,写得实在太好了!
www.cnblogs.com/wyc1994666/p/10831039.html
Java技术栈
2020/10/27
1K0
图解 MySQL 索引,写得实在太好了!
从根儿上理解MySQL索引
我创建了一个存储引擎为InnoDB的表user_innodb,其中包含主键id、姓名字段(name)、性别字段(gender,用0,1表示不同性别)、手机号字段(phone),并批量初始化了500W+条数据。
蝉沐风
2022/08/06
4890
从根儿上理解MySQL索引
你管这破玩意叫 B+ 树?
索引可以说是每个工程师的必备技能点,明白索引的原理对于写出高质量的 SQL 至关重要,今天我们就从 0 到 1 来理解下索引的原理,相信大家看完不光对索引还会对 MySQL 中 InnoDB 存储引擎的最小存储单位「页」会有更深刻的认识
kunge
2021/09/07
3600
三高Mysql - Inndb存储引擎和索引介绍
内容为慕课网的《高并发 高性能 高可用 MySQL 实战》视频的学习笔记内容和个人整理扩展之后的笔记,这一节的内容是对于InnoDb的存储结构进阶了解,同时介绍为什么会使用B+索引作为最终数据结构,但是实际上InnoDb在具体实现中也并没有完全遵循B+的格式,而是在内部做了很多“手脚”,这也是所谓理论和实践之间的差异。
阿东
2022/03/30
6390
三高Mysql - Inndb存储引擎和索引介绍
相关推荐
换一个角度看 B+ 树
更多 >
LV.4
Golang开发攻城狮
目录
  • 概率分类法
  • 朴素贝叶斯
  • 高斯概率密度函数
  • 高斯混合模型
  • EM算法(Expectation-Maximization algorithm)
  • 高斯混合模型EM算法流程
  • K-均值聚类(K-means Clustering)
  • 基于K-均值聚类的图像矢量量化
  • 高斯混合模型 – 说话人识别
  • EM算法收敛性证明
  • EM算法缺点
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档