当前位置:首页 » 操作系统 » 鸡汤算法

鸡汤算法

发布时间: 2022-12-16 23:08:56

㈠ 高斯混合模型(GMM)和EM算法

学号:20021110074     电院    姓名:梁雪玲

【嵌牛导读】:GMM与EM算法的学习与推导。

【嵌牛鼻子】:GMM    EM  

【嵌牛提问】:GMM是什么?EM算法是什么?二者之间的关系?算法的推导?如何深入学习?

【嵌牛正文】:

在深度学习的路上,从头开始了解一下各项技术。本人是DL小白,连续记录我自己看的一些东西,大家可以互相交流。

本文参考:

http://www.ituring.com.cn/article/497545(GMM)

https://blog.csdn.net/xmu_jupiter/article/details/50889023(GMM)

http://www.cnblogs.com/wjy-lulu/p/7010258.html(EM算法)

https://blog.csdn.net/zouxy09/article/details/8537620(EM算法)

一、前言

    高斯混合模型(Gaussian Mixture Model)简称GMM,是一种业界广泛使用的聚类算法。它是多个高斯分布函数的线性组合,理论上GMM可以拟合出任意类型的分布,通常用于解决同一集合下的数据包含多种不同的分布的情况。高斯混合模型使用了期望最大(Expectation Maximization, 简称EM)算法进行训练,故此我们在了解GMM之后,也需要了解如何通过EM算法训练(求解)GMM。

二、高斯混合模型(GMM)

    在了解高斯混合模型之前,我们先了解一下这种模型的具体参数模型-高斯分布。高斯分布又称正态分布,是一种在自然界中大量存在的,最为常见的分布形式。

    如上图,这是一个关于身高的生态分布曲线,关于175-180对称,中间高两边低,相信大家在高中已经很了解了,这里就不再阐述。

    现在,我们引用《统计学习方法》-李航 书中的定义,如下图:

    根据定义,我们可以理解为,GMM是多个高斯分布的加权和,并且权重α之和等于1。这里不难理解,因为GMM最终反映出的是一个概率,而整个模型的概率之和为1,所以权重之和即为1。高斯混合模型实则不难理解,接下来我们介绍GMM的训练(求解)方法。

PS.从数学角度看,对于一个概率模型的求解,即为求其最大值。从深度学习角度看,我们希望降低这个概率模型的损失函数,也就是希望训练模型,获得最大值。训练和求解是不同专业,但相同目标的术语。

三、最大似然估计

     想要了解EM算法,我们首先需要了解最大似然估计这个概念。我们通过一个简单的例子来解释一下。

    假设,我们需要调查学校男女生的身高分布。我们用抽样的思想,在校园里随机抽取了100男生和100女生,共计200个人(身高样本数据)。我们假设整个学校的身高分布服从于高斯分布。但是这个高斯分布的均值u和方差∂2我们不知道,这两个参数就是我们需要估计的值。记作θ=[u, ∂]T。

    由于每个样本都是独立地从p(x|θ)中抽取的,并且所有的样本都服从于同一个高斯分布p(x|θ)。那么我们从整个学校中,那么我抽到男生A(的身高)的概率是p(xA|θ),抽到男生B的概率是p(xB|θ)。而恰好抽取出这100个男生的概率,就是每个男生的概率乘积。用下式表示:

    这个概率反映了,在概率密度函数的参数是θ时,得到X这组样本的概率。在公式中,x已知,而θ是未知,所以它是θ的函数。这个函数放映的是在不同的参数θ取值下,取得当前这个样本集的可能性,因此称为参数θ相对于样本集X的似然函数(likehood function)。记为L(θ)。

    我们先穿插一个小例子,来阐述似然的概念。

某位同学与一位猎人一起外出打猎,一只野兔从前方窜过。只听一声枪响,野兔应声到下,如果要你推测,这一发命中的子弹是谁打的?你就会想,只发一枪便打中,由于猎人命中的概率一般大于这位同学命中的概率,看来这一枪是猎人射中的。

      这个例子所作的推断就体现了极大似然法的基本思想,我们并不知道具体是谁打的兔子,但是我们可以估计到一个看似正确的参数。回到男生身高的例子中。在整个学校中我们一次抽到这100个男生(样本),而不是其他的人,那么我们可以认为这100个男生(样本)出现的概率最大,用上面的似然函数L(θ)来表示。

    所以,我们就只需要找到一个参数θ,其对应的似然函数L(θ)最大,也就是说抽到这100个男生(的身高)概率最大。这个叫做θ的最大似然估计量,记为:

因为L(θ)是一个连乘函数,我们为了便于分析,可以定义对数似然函数,运用对数的运算规则,把连乘转变为连加:

PS.这种数学方法在MFCC中我们曾经用过,可以回溯一下上一篇文章。

    此时,我们要求θ,只需要使θ的似然函数L(θ)极大化,然后极大值对应的θ就是我们的估计。在数学中求一个函数的最值问题,即为求导,使导数为0,解方程式即可(前提是函数L(θ)连续可微)。在深度学习中,θ是包含多个参数的向量,运用高等数学中的求偏导,固定其中一个变量的思想,即可求出极致点,解方程。

总结而言:

    最大似然估计,只是一种概率论在统计学的应用,它是参数估计的方法之一。说的是已知某个随机样本满足某种概率分布,但是其中具体的参数不清楚,参数估计就是通过若干次试验,观察其结果,利用结果推出参数的大概值。最大似然估计是建立在这样的思想上:已知某个参数能使这个样本出现的概率最大,我们当然不会再去选择其他小概率的样本,所以干脆就把这个参数作为估计的真实值。

    求最大似然函数估计值的一般步骤:

(1)写出似然函数;

(2)对似然函数取对数,并整理;(化乘为加)

(3)求导数,令导数为0,得到似然方程;

(4)解似然方程,得到的参数即为所求。

四、EM算法

    期望最大(Expectation Maximization, 简称EM)算法,称为机器学习十大算法之一。它是一种从不完全数据或有数据丢失的数据集(存在隐含变量)中求解概率模型参数的最大似然估计方法。

    现在,我们重新回到男女生身高分布的例子。我们通过抽取100个男生身高,并假设身高分布服从于高斯分布,我们通过最大化其似然函数,可以求的高斯分布的参数θ=[u, ∂]T了,对女生同理。但是,假如这200人,我们只能统计到其身高数据,但是没有男女信息(其实就是面对200个样本,抽取得到的每个样本都不知道是从哪个分布抽取的,这对于深度学习的样本分类很常见)。这个时候,我们需要对样本进行两个东西的猜测或者估计了。

      EM算法就可以解决这个问题。假设我们想估计知道A和B两个参数,在开始状态下二者都是未知的,但如果知道了A的信息就可以得到B的信息,反过来知道了B也就得到了A。可以考虑首先赋予A某种初值,以此得到B的估计值,然后从B的当前值出发,重新估计A的取值,这个过程一直持续到收敛为止。

    在男女生身高分布的例子中,我们运用EM算法的思想。首先随便猜一下男生的高斯分布参数:均值和方差。假设均值是1.7米,方差是0.1米,然后计算出每个人更可能属于第一个还是第二个正态分布中。这是第一步,Expectation。在分开了两类之后,我们可以通过之前用的最大似然,通过这两部分,重新估算第一个和第二个分布的高斯分布参数:均值和方差。这是第二步,Maximization。然后更新这两个分布的参数。这是可以根据更新的分布,重新调整E(Expectation)步骤...如此往复,迭代到参数基本不再发生变化。

    这里原作者提到了一个数学思维,很受启发,转给大家看一眼(比较鸡汤和啰嗦,大家可以跳过)

这时候你就不服了,说你老迭代迭代的,你咋知道新的参数的估计就比原来的好啊?为什么这种方法行得通呢?有没有失效的时候呢?什么时候失效呢?用到这个方法需要注意什么问题呢?呵呵,一下子抛出那么多问题,搞得我适应不过来了,不过这证明了你有很好的搞研究的潜质啊。呵呵,其实这些问题就是数学家需要解决的问题。在数学上是可以稳当的证明的或者得出结论的。那咱们用数学来把上面的问题重新描述下。(在这里可以知道,不管多么复杂或者简单的物理世界的思想,都需要通过数学工具进行建模抽象才得以使用并发挥其强大的作用,而且,这里面蕴含的数学往往能带给你更多想象不到的东西,这就是数学的精妙所在啊)

五、EM算法的简单理解方式

    在提出EM算法的推导过程之前,先提出中形象的理解方式,便于大家理解整个EM算法,如果只是实现深度学习模型,个人认为可以不需要去看后面的算法推导,看这个就足够了。

    坐标上升法(Coordinate ascent):

    图中的直线式迭代优化的途径,可以看到每一步都会向最优值靠近,而每一步前进的路线都平行于坐标轴。那么我们可以将其理解为两个未知数的方程求解。俩个未知数求解的方式,其实是固定其中一个未知数,求另一个未知数的偏导数,之后再反过来固定后者,求前者的偏导数。EM算法的思想,其实也是如此。使用坐标上升法,一次固定一个变量,对另外的求极值,最后逐步逼近极值。对应到EM上,E步:固定θ,优化Q;M步:固定Q,优化θ;交替将极值推向最大。 

六、EM算法推导

    现在很多深度学习框架可以简单调用EM算法,实际上这一段大家可以不用看,直接跳过看最后的总结即可。但是如果你希望了解一些内部的逻辑,可以看一下这一段推导过程。

    假设我们有一个样本集{x(1),…,x(m)},包含m个独立的样本(右上角为样本序号)。但每个样本i对应的类别z(i)是未知的(相当于聚类),也即隐含变量。故我们需要估计概率模型p(x,z)的参数θ(在文中可理解为高斯分布),但是由于里面包含隐含变量z,所以很难用最大似然求解,但如果z知道了,那我们就很容易求解了。

首先放出似然函数公式,我们接下来对公式进行化简:

    对于参数估计,我们本质上的思路是想获得一个使似然函数最大化的参数θ,现在多出一个未知变量z,公式(1)。那么我们的目标就转变为:找到适合的θ和z让L(θ)最大。

    对于多个未知数的方程分别对未知的θ和z分别求偏导,再设偏导为0,即可解方程。

    因为(1)式是和的对数,当我们在求导的时候,形式会很复杂。

    这里我们需要做一个数学转化。我们对和的部分,乘以一个相等的函数,得到(2)式,利用Jensen不等式的性质,将(2)式转化为(3)式。(Jensen不等式数学推到比较复杂,知道结果即可)

Note:

Jensen不等式表述如下:

如果f是凸函数,X是随机变量,那么:E[f(X)]>=f(E[X])

特别地,如果f是严格凸函数,当且仅当X是常量时,上式取等号。参考链接: https://blog.csdn.net/zouxy09/article/details/8537620

    至此,上面的式(2)和式(3)不等式可以写成:似然函数L(θ)>=J(z,Q),那么我们可以通过不断的最大化这个下界J(z,Q)函数,来使得L(θ)不断提高,最终达到它的最大值。

    现在,我们推导出了在固定参数θ后,使下界拉升的Q(z)的计算公式就是后验概率,解决了Q(z)如何选择的问题。这一步就是E步,建立L(θ)的下界。接下来的M步,就是在给定Q(z)后,调整θ,去极大化L(θ)的下界J(在固定Q(z)后,下界还可以调整的更大)。

总结而言

EM算法是一种从不完全数据或有数据丢失的数据集(存在隐藏变量)中,求解概率模型参数的最大似然估计方法。

EM的算法流程:

1>初始化分布参数θ;

重复2>, 3>直到收敛:

    2>E步骤(Expectation):根据参数初始值或上一次迭代的模型参数来计算出隐性变量的后验概率,其实就是隐性变量的期望。作为隐藏变量的现估计值:

    3>M步骤(Maximization):将似然函数最大化以获得新的参数值:

这个不断迭代的过程,最终会让E、M步骤收敛,得到使似然函数L(θ)最大化的参数θ。

在L(θ)的收敛证明:

㈡ 1+1等于几 脑筋急转弯 10种

1、1+1=0 (你是头脑比较零活的人) 。

2、1+1=1 (你的学历可能比较高,明知道等于二,但认为不会出现这么简单的问题,脑子比较复杂)。

3、1+1=2 (一般幼儿园小朋友会脱口而出)。

4、1+1=3 (你属于家庭主妇型)。

5、1+1=4(多了要国家罚款的)。

6、1+1=王 (你属于不无正业型,也可能你是小学在读)。

7、1+1=丰 (你很冷静,看问题有深度)。

8、1+1=田 (你很有思想,喜欢换位思考)。

9、1+1=10 (二进制算法)。

10、1+1=11 (是连接符号)。

由此还可以延伸出一个爸爸和一个妈妈生了一个宝宝 1+1=3,即一个爸爸和一个妈妈,生了一个小宝宝后成了一个三口之家, 1+1=4一个爸爸和一个妈妈,生了一对双胞胎,成了一个四口之家等。

(2)鸡汤算法扩展阅读

《脑筋急转弯精选大全》语言通俗易懂、幽默诙谐,内容雅致且积极,力求引导读者从游戏中学习积极、开朗、乐观、向上的生活态度。此外,为了照顾不同年龄阶段读者的阅读喜好,书中还配有精美的插图,用轻松活泼的形式唤起读者强烈的阅读兴趣。

十大最搞笑的脑筋急转弯

1、什么动物的屁股杀伤力比嘴厉害?

答案及解析:黄蜂(黄蜂又称为“胡蜂”、“蚂蜂”或“马蜂”。腹部尾端内隐藏了一支退化的输卵管,即有毒蜂针。在遇到攻击或不友善干扰时,会群起攻击,可以致人出现过敏反应和毒性反应,严重者可导致死亡。)

2、屎壳郎最不喜欢什么人?

答案及解析:放屁的人(屎壳郎喜食粪便,多以动物粪便为食,有“自然界清道夫”的称号。他自然不喜欢只放屁而不产粪便之人。)

3、为什么武大郎不喜欢吃烧饼?

答案及解析:因为他想糕(高)(武大郎是出了名的矮子,矮子都希望自己能够长高。烧饼不对他的味,在选食方面自然也想高(糕)。)

4、什么事情是僵尸先生最不喜欢做的?

答案及解析:仰卧起坐(僵尸是指四肢僵硬,头不低,眼不斜,腿不分,不腐烂的尸体。 可是仰卧起坐却需要手脚、头部连续性进行运动,这对于身体僵硬的僵尸先生来说,是最不喜欢的。)

5、什么东西打架时只会往死里顶?

答案及解析:牛(众所周知,斗牛是西班牙的国粹,风靡全国,享誉世界。牛头上那坚实的牛角若是干起架来,只会往死里顶。)

6、除了囚车以外,还有什么车是打死你都不想去坐的?

答案及解析:灵车(人除了怕麻烦以外,还怕死,坐车本是一件很自在、悠闲的事情,可是坐上一部不属于你的车,想必打死你,也不会想要和死人同座位。)

7、为什么报社男编辑找不到老婆?

答案及解析:他每天都要搞(稿)(报社的男编辑每天都要交稿子,而稿和搞谐音,带有一点成人间小秘密,需求如此大的男人,简单的女人怎么会招架得住呢,娶不到老婆也是有些许道理。)

8、什么东西四肢全无,只有一个杀伤力很强的头?

答案及解析:砖头(从字面上来看,只有一个“头”字,若从形体上看,它的确也没有四肢,只有一个头,如果用它来砸人,其杀伤力绝对够强大。)

9、就算架把刀在你脖子上,你也不会紧紧握住它的手,它是什么?

答案及解析:仙人掌(仙人掌是出了名的浑身带刺,不管是什么人,都不会很乐意紧紧地握住它的手。)

10、老太太在做什么事情的时候最无耻下流?

答案及解析:喝粥的时候(老太太的牙齿稀疏,在喝粥的时候,粥、水会不自觉地往下流,“无耻下流”谐音“无齿下流”。)

㈢ 抖音短视频如何用算法快速上热门

没有播放量?没有曝光?没有点赞?个人号被判是营销号,企业号是僵尸号,那么我们应该怎么做呢?

一、抖音引流6大核心
1:视频需要7秒以上。
2:尽量作品以竖屏为先,横屏尽量少发。
3:上传视频时,建议选择一个类别并添加匹配的标签。
4:不能硬植入广告。
5:视频不得出现水印和图像质量模糊等问题。
6:一定不能有不良的操作,比如说出现武器、出现一些不该出现的镜头和画面。
二、抖音基本的运营思路
1.定位
定位的重要性是众所周知的。
说白了定位是找到你擅长的分类,并继续加深内容以吸引目标用户的关注。
大多数人不定位是因为他们没有自己的特色。即使今天的运气好,蹭热点上了热门,明天就不知道发什么了,很难吸引用户。因此只有给账号定位,才是可持续发展的道路。
2.拍摄思路与形式
设备跟上,制作精良
原创性和质量必须要高。抖音与快手、火山相比,它要求视频的整体风格应该是酷炫和年轻化。它还需要一定程度的图像质量和拍摄技巧。总而言之质量要求相对较高。
保证每一帧的质量,提高完成率
你必须快速进入主题并充分利用每一帧画面。否则观众会随时离开。完播率上不去,算法会认为您的视频质量较差,不被推荐出去。
3.真人出镜
我们与抖音官方是有对接,我可以负责任地告诉你抖音更愿意支露脸的账号,这与抖音的社会属性是分不开的。
所以起初我们的视频没有真人出境,但现在他们大大增加了真人出境的频率。
4.颜值过关
对于手快的用户来说他们对颜值是非常宽容的,你可以看到很多普通人表现出他们不那么漂亮的一面。但如果你想在抖音里火起来的话,至少你不能丑或邋遢。
因此我们会找颜值比较高的来做视频的主角进行拍摄。
5.跟上热门挑战
最近抖音新上线了一个比较热门的挑战。现在参与的人不多。如果你判断这个话题存在火的潜力,这个时候快速跟进去做一些模仿的内容,就很可能上推荐。
抖音的内容有三个入口,第一个是推荐,第二个是关注,第三个是挑战。
这与微博热搜的原理相同。你可能无法自己创造热点,但你可以赶上热点的旅程。
三.编辑
通过编辑您可以使内容以更好的形式展现。这个属于专业人士的业务,简单谈3点要注意的:
1.背景音乐
选音乐主要有2个标准,第一是和视频内容完美配合,这是最好的;如果这点做不到,那就选择用户认知度比较高的音乐,例如像《说散就散》《海草舞》之类的,用户还是很买单的。
2.特效
抖音提供快放,慢放,反向播放和节选段落循环放等功能。具体的玩法各不相同,所以你可以尝试一下。
3.标题、封面
这和公众号原则一样,对内容的播放量、完播率、分享量和点击都有很大的影响。
另外在视频播放过程中,标题实际上就成了一个备注,如果设置得当也可以起到很大的作用。
比如和内容配合起来玩梗,或者引导用户留言评论等。
四.发布、维护
1.发布时间
这个逻辑很简单——什么时候用户多,就什么时候发布。
在正常情况下互联网产品将在中午有一个高峰期,而下班后大约19:00~23:00是另一个高峰期。您可以选择发送这些时间段,但有许多用户在凌晨都有在用的。
2.善用评论
我们每天都有很多用户评论,我们需要有专门的人来维护用户的评论,即回应用户的问题并与用户互动。
如果这个环节做得好,活跃度和忠诚度将会大大提高。
其实每个人都可以将其视为一个运营位置。因为抖音现在现在是没有开放多少运营位置给账号的,我们只能够在头像、签名介绍自己的产品。
这时我们可以去评论里引导用户,通过作者的回复,引导转换成你的粘性用户,比如引导到微信等。
如果企业想要在抖音的用户中曝光的话,也是可以考虑做抖音的,毕竟它是一个有着 2 亿多用户的巨大流量池。

热点内容
linuxcftp服务器 发布:2025-05-14 23:58:18 浏览:716
探岳什么配置才有驾驶模式选择 发布:2025-05-14 23:53:17 浏览:143
如何在手机上看无限流量密码 发布:2025-05-14 23:43:31 浏览:114
19投篮脚本 发布:2025-05-14 23:36:57 浏览:513
编译器怎么处理c变长数组 发布:2025-05-14 23:31:46 浏览:663
存折每天可以输错多少次密码 发布:2025-05-14 23:22:06 浏览:909
安卓手机怎么找微信隐藏对话 发布:2025-05-14 23:07:47 浏览:338
怎么查看泰拉服务器ip 发布:2025-05-14 23:03:29 浏览:74
c语言学生成绩查询系统 发布:2025-05-14 22:58:30 浏览:6
怎么进别人的服务器 发布:2025-05-14 22:45:55 浏览:774