當前位置:首頁 » 操作系統 » 雞湯演算法

雞湯演算法

發布時間: 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 億多用戶的巨大流量池。

熱點內容
安卓手機怎麼找微信隱藏對話 發布:2025-05-14 23:07:47 瀏覽:336
怎麼查看泰拉伺服器ip 發布:2025-05-14 23:03:29 瀏覽:72
c語言學生成績查詢系統 發布:2025-05-14 22:58:30 瀏覽:4
怎麼進別人的伺服器 發布:2025-05-14 22:45:55 瀏覽:772
用編程寫音樂 發布:2025-05-14 22:45:08 瀏覽:782
如何識別電腦的網路配置 發布:2025-05-14 22:38:46 瀏覽:847
pipforpython3 發布:2025-05-14 22:38:34 瀏覽:350
如何把迷你世界的伺服器搞崩 發布:2025-05-14 22:37:15 瀏覽:94
如何讓安卓卡死機 發布:2025-05-14 22:36:27 瀏覽:634
wemall微商城源碼 發布:2025-05-14 22:15:20 瀏覽:804