機器學習——關于極大似然估計法的一些個人思考

最近在回顧機器學習的一些相關理論知識,回顧到極大似然法時,對于極大似然法中的一些公式有些迷糊了,所以本文主要想記錄并分享一下個人關于極大似然估計法的一些思考,如果有誤,請見諒,歡迎一起前來探討。當然,如果這篇文章還能入得了各位“看官”的法眼,麻煩點贊、關注、收藏,支持一下!

一、須知前提

可能有一部分小伙伴的概率學等相關理論知識相對薄弱,因此,為了讓大家更好的理解,在對極大似然估計法進行說明前,先對相關的須知理論知識做一個簡單的說明

在理解極大似然估計法時,有兩需要理解,一個是貝葉斯定理,一個是聯合概率

1、貝葉斯定理

直接給出公式:

對于貝葉斯定理的公式,可能很多小伙伴不能理解是怎么得來的,其實本人也不甚了解,但是著并并不影響公式的使用,所以大家不需要過度糾結這條公式是怎么來的,其實只要會用就可以,當然有興趣的小伙伴可以自行去檢索一下,相信網絡上有很多相關資料。

但是,我們必須要理解公式中每個部分代表著什么,這樣才能保證我們可以正常使用。

這里比較重要的是條件概率聯合概率,公式中的P(x,c)就是聯合概率,對于聯合概率此處先不講,但是會在下一小節重點解釋,公式中的P(c|x)和P(x|c)就是條件概率,舉兩個例子大家感受一下:

P(好瓜|敲聲=脆響)=敲聲脆響的瓜是好瓜的概率

P(敲聲=脆響|好瓜)=好瓜的敲聲是脆響的概率

對此,我們不難發現,對于條件概率,大家可以理解為,在某一前提的情況下發生某件事的概率

至于為什么使用貝葉斯公式,其實原因很簡單,因為P(c|x)在實際生活中無法求得或者求得的投入入過大不劃算,比如說,如果我們要求P(好瓜|敲聲=脆響)時,我們通過敲打西瓜可以知道敲聲是否脆響,但是無法直接得出是不是好瓜,要想知道西瓜是否是好瓜,我們需要把西瓜切開,一兩個瓜還好,要是成百上千呢?如果僅僅只是為了知道瓜是不是好瓜而將每個瓜都切開這不現實。

2、聯合概率

在貝葉斯定理部分,已經給出了條件概率的形式,在概率中還有一種概率形式叫做聯合概率,其形式如下:

或者是:

?對于聯合概率,大家可以理解為,多個事件同時發生的概率,即“”的關系,舉個簡單的例子大家感受一下:

P(敲聲脆響,觸感硬滑)=敲聲脆響觸感硬滑的概率

另外,根據樣本的分布是否獨立,聯合概率分成兩種形式。

當屬性/樣本之間是獨立分布時:

或者:

?為了讓大家更好理解,我舉個例子:

?P(敲聲=脆響,觸感=硬滑,根蒂=蜷縮)=P(敲聲=脆響)*P(觸感=硬滑)*P(根蒂=蜷縮)

這里需要注意的是千萬千萬不要寫成累加的形式。為什么是累乘而不是累加,我舉個例子簡單解釋一下,P表示求概率想必大家都知道,概率必然是小于等于1的,若采用累加的形式,當敲聲要么脆響要么沉悶,觸感要么硬滑要么綿軟,根蒂要么蜷縮要么硬挺時:

P(敲聲=脆響)=P(觸感=硬滑)=P(根蒂=蜷縮)=0.5

?P(敲聲=脆響,觸感=硬滑,根蒂=蜷縮)=P(敲聲=脆響)+P(觸感=硬滑)+P(根蒂=蜷縮)=1.5>1

概率值是1.5,大于1,這顯然是錯誤的,因此我們不難得出,采用累加的形式是錯誤的。

說到這里我就再多說一句,什么情況下我們可以采用累加的形式,舉個例子大家感受一下:

當敲聲有三個值時,即敲聲可以是脆響、清響、沉悶,如果我們要求敲聲不為清脆的概率,或者說敲聲等于脆響或者沉悶的概率,我們可以用累加,即:

P(敲聲清脆)=P(敲聲=脆響U敲聲=沉悶)=P(敲聲=脆響)+P(敲聲=沉悶)

當屬性/樣本之間是非獨立分布時:

舉個例子,x1是x2的父節點,即x2的值受x1影響,如下所示:

舉個例子:

?P(敲聲=脆響,觸感=硬滑)=P(敲聲=脆響)*P(觸感=硬滑|敲聲脆響)

二、極大似然估計法有啥用?

在上面一節中提到了貝葉斯定理,而極大似然法就是為了求解貝葉斯公式中的P(x|c),比如求好瓜中敲聲脆響的概率P(敲聲=脆響|好瓜)。講到這里,可能有些小伙伴,有些迷糊,P(x|c)明明很清楚也很好求,為啥還要用極大似然法,原因其實很簡單,下面會進行說明。

對于單一樣本或者單一屬性而言確實很好求,就好像求解P(敲聲=脆響|好瓜),但是現實生活中我們需要求解的可能是多個屬性,或者含有多個樣本的樣本集,即P(x1,x2,……xn|c),對于這種情況我們往往很難直接求得。

舉個例子,假設對于每個屬性/樣本x1~xn都有0和1兩個值的話,那么x1~xn的組合形式也就有2^{n}個,這樣也就是說,要想使得訓練集準確,訓練集必須包含每一種可能性。因此,我們訓練集中的訓練樣本數至少要有2^{n}個,而且這些訓練樣本還必須都不同。當n大起來或者當x1~xn的取值不僅僅只有兩個值時,就會存在要么訓練集中樣本數量巨大導致訓練過程耗時耗力的問題,要么就會存在訓練集中某種組合缺失導致訓練結果不準的問題,而極大似然法卻恰恰可以幫助我們解決這些問題。

三、極大似然估計法

先說一下極大似然估計法估計條件概率的基本原理/策略,極大似然估計法是先假定其具有某種確定的概率分布形式,再基于訓練樣本對概率分布的參數進行估計(這是《西瓜書》上的原話)。

個人理解:極大似然估計法認為每一個標記c都對應一種概率分形式,比如說正態分布、均勻分布等等,而我們求條件概率就是求特定分布下的某一值的概率,比如說,標記c對應的是正態分布,求P(x=1|c),即求在這個正態分布下的x=1的概率是多少,當正態分布曲線畫出來后,橫軸代表數據點的值,縱軸代表數據點在該分布下的概率。因此,極大似然法就將求條件概率轉換成了求標記c的具體分布,當分布曲線確定好之后,我們就可以直接在曲線上得出相應數據點的概率。

下面我將給出極大似然法的核心公式:

從上面的三條公式,我們不難看出,極大似然法最后求的是令LL(\theta_{c})達到最大的\theta _{c},這與上面所講的極大似然估計法的原理保持一致。

其中,\theta _{c}是一個參數向量,以正態分布為例,\theta _{c}=\left [ \mu _{c},\sigma _{c} \right ],當\theta _{c}確定后,正態分布曲線就可以定下來了,D_{c}表示訓練集D 中第c 類樣本組成的集合,并且我們假定這些樣本是獨立同分布的。

至于為什么求得的\theta _{c}要使LL(\theta_{c})達到最大,原因很簡單。因為我們最根本目的是為了求的一個誤差最小的模型,或者說預測結果最準卻得模型,即P(c|x)要達到最大,因為P(c)和P(x)是確定的,所以根據貝葉斯公式,我們要求P(c|x)達到最大就可以轉換成求P(x|c)達到最大。

樣本點是由采樣得來的,是一定的,而極大似然估計法則認為標記c對應的是一種概率分布形式,在不同的概率分布形式下,相同的樣本點的概率是不同的,所以要使的P(x|c)達到最大,就是要找到一個最佳的概率分布曲線。

當標記c確定為某一概率分布形式后,比如正態分布,通過\theta _{c}就可以確定具體概率分布曲線的形態,不同的\theta _{c}會產生不同形態的概率分布曲線,也就會導致P(x|c)出現不同的值,當P(x|c)達到最大時,LL(\theta_{c})必然達到最大。因此,求解P(x|c)的最大值,就也可以轉換成求使LL(\theta_{c})達到最大的\theta _{c}

參考書籍

周志華老師的《西瓜書》

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/42478.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/42478.shtml
英文地址,請注明出處:http://en.pswp.cn/web/42478.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Could not find Chrome (ver.xxxxx). This can occur if either\n

文章目錄 錯誤解決方法 錯誤 Could not find Chrome (ver. 119.0.6045.105). This can occur if either\n 1. you did not perform an installation before running the script (e.g. npx puppeteer browsers install chrome) or\n 2. your cache path is incorrectly configu…

topic 之RCLCPP實現

創建節點 本節我們將創建一個控制節點和一個被控節點。 控制節點創建一個話題發布者publisher,發布控制命令(command)話題,接口類型為字符串(string),控制接點通過發布者發布控制命令&#xf…

【Linux】升級FastJSON版本-jar

摘要 在長期運行的應用服務器上,近期的安全漏洞掃描揭示了fastjson組件存在潛在的安全隱患(FastJSON是一個Java 語言實現的 JSON 解析器和生成器。FastJSON存在遠程代碼執行漏洞,惡意攻擊者可以通過此漏洞遠程執行惡意代碼來入侵服務器&…

怎么解析二級域名,一個一級域名可以解析多少二級域名?

在構建網站或應用時,域名是連接用戶與服務器的重要橋梁。注冊了一級域名后,如何解析二級域名,以及一個一級域名可以解析多少個二級域名,是很多網站管理人員都非常關心的問題。本文國科云將簡單探討下這兩個問題,并給出…

數學,LeetCode 3102. 最小化曼哈頓距離

一、題目 1、題目描述 給你一個下標從 0 開始的數組 points ,它表示二維平面上一些點的整數坐標,其中 points[i] [xi, yi] 。 兩點之間的距離定義為它們的 曼哈頓距離 。 請你恰好移除一個點,返回移除后任意兩點之間的 最大 距離可能的 最小…

Dynadot 2024年第一季度回顧

關于Dynadot Dynadot是通過ICANN認證的域名注冊商,自2002年成立以來,服務于全球108個國家和地區的客戶,為數以萬計的客戶提供簡潔,優惠,安全的域名注冊以及管理服務。 Dynadot平臺操作教程索引(包括域名郵…

java進程把服務器CPU打滿問題排查

1、top命令定位問題進程 2、查看進程的所有線程信息,記下占用最高的進程 top -Hp 38080553、將第2步得到的線程號轉化為十六進制 printf %x\n 38080594、結果里搜索 jstack 3808055|grep -A 10 3a1b3b5、定位問題 根據上步搜索到的結果,可以看到是GC…

【PyQt5】

PyQT5線程基礎(1) 分離UI主線程和耗時子線程QThread自定義信號 分離UI主線程和耗時子線程 在應用程序中,主線程負責處理用戶的輸入事件、更新UI元素和響應系統的回調,而耗時的任務(例如網絡請求、數據庫訪問、圖像處理…

關閉這八個電腦設置,保護個人隱私

你知道嗎?電腦可能一直在偷窺你的小秘密。朋友們,一定要記得關閉這8個電腦設置哦,這樣可以有效地保護我們的個人隱私。 按住鍵盤Windows鍵加i鍵,快速打開Windows設置。然后點擊隱私選項。 我們來看基本的常規設置。里面有四個設置…

在表格中選中el-radio后, 怎么獲取選中的這一行的所有數據?

演示: 圖中, 選中這行數據后, 怎么獲取到當前的數據? 代碼: <tr v-for"item in gridData"><td><input type"radio" v-model"checkout" change"getDateFn" :data-type"item.articleType" :data-channelNam…

GEE代碼實例教程詳解:年度和月度土地覆蓋變化分析

簡介 在本篇博客中&#xff0c;我們將使用Google Earth Engine (GEE) 對土地覆蓋變化進行年度和月度的分析。通過Google的Dynamic World數據集&#xff0c;我們可以識別2023年至2024年間土地覆蓋的類型和變化。 背景知識 Google Dynamic World數據集 Google/DYNAMICWORLD/V…

百川工作手機實現銷售管理微信監控系統

在瞬息萬變的商業戰場中&#xff0c;每一分效率的提升都是企業制勝的關鍵。傳統銷售管理模式已難以滿足現代企業對精準、高效、合規的迫切需求。今天&#xff0c;讓我們一同探索如何利用工作手機這一創新工具&#xff0c;為您的銷售團隊裝上智能翅膀&#xff0c;開啟銷售管理的…

基于springboot+vue實現的廚藝交流平臺(文末源碼+Lw)093

93基于SpringBootVue的實現的廚藝交流平臺&#xff08;源碼數據庫萬字Lun文流程圖ER圖結構圖演示視頻軟件包&#xff09; 系統功能&#xff1a; 這次開發的廚藝交流平臺功能有個人中心&#xff0c;食材分類管理&#xff0c;用戶管理&#xff0c;菜品分類管理&#xff0c;菜譜信…

解鎖敦煌網成功秘籍:批量注冊買家號測評的高效策略

敦煌網&#xff08;DHgate&#xff09;作為一個跨境電商平臺&#xff0c;搭建境外本土網絡環境并實現批量注冊買家號下單&#xff0c;需要遵循一系列嚴謹的步驟和考慮多個關鍵因素。以下是一個概括性的指南&#xff1a; 一、環境要求 國外服務器&#xff1a;首先&#xff0c;…

HumbleBundle7月虛幻捆綁包30件軍事題材美術模型沙漠自然環境大逃殺模塊化建筑可定制武器包二戰現代坦克飛機道具喪尸士兵角色模型20240705

HumbleBundle7月虛幻捆綁包30件軍事題材美術模型沙漠自然環境大逃殺模塊化建筑可定制武器包二戰現代坦克飛機道具喪尸士兵角色模型202407051607 這次HumbleBundle捆綁包是UE虛幻軍事題材的&#xff0c;內容非常多。 有軍事基地、賽博朋克街區、灌木叢景觀環境等 HB捆綁包虛幻…

7-打包安裝程序

接下來假設我們想要將我們的項目分發給其他人&#xff0c;以便他們可以使用它。我們希望在各種平臺上提供二進制和源代碼發行版。這與我們之前在安裝和測試中所做的安裝略有不同&#xff0c;在安裝中我們安裝了從源代碼構建的二進制文件。在本例中&#xff0c;我們將構建支持二…

C# 構造函數依賴注入 使用out向外傳遞參數

天真目前解決方法 天真 using System;namespace forCode20191 {class Program {static void Main(string[] args) {bool flag false;Tmp tt new Tmp(out flag);Console.WriteLine(flag); // 將輸出 falsett.Doit();Console.WriteLine(flag); // 將輸出 trueConsole.ReadKey(…

“DDoS攻擊的最新防御策略:從檢測到緩解的全方位方案“

DDoS攻擊的最新防御策略 DDoS攻擊&#xff08;分布式拒絕服務攻擊&#xff09;是網絡安全領域的重大威脅&#xff0c;它通過大量的惡意流量淹沒目標服務器或網絡&#xff0c;導致服務不可用。為了有效防御DDoS攻擊&#xff0c;最新的策略強調從檢測到緩解的全方位方案。 多層防…

深度學習的數學PDF

鏈接: https://pan.baidu.com/s/1_jScZ7dcyAWGqbrad6bbCQ?pwd9gj9 提取碼: 9gj9 復制這段內容后打開百度網盤手機App&#xff0c;操作更方便哦

【蒼穹外賣】Day2 手把手敲完細節

目錄 1. 新增員工 1.1 需求分析和設計 1.2 代碼開發 ①定義DTO類&#xff1a;(在sky-pojo里&#xff09; ②EmployeeController中創建新增員工方法save() ③EmployeeService里聲明save方法&#xff08;altenter&#xff09; ④EmployeeServiceImpl中實現save方法 ⑤在E…