PRML(2)--緒論(下)模型選擇、緯度災難、決策論、信息論

PRML緒論

  • 1.3 模型選擇
  • 1.4 緯度災難
  • 1.5 決策論
    • 1.5.1最小錯誤分率
    • 1.5.2最小化期望損失
    • 1.5.3拒絕選項
    • 1.5.4推斷和決策
    • 1.5.5 回歸問題的損失函數
  • 1.6 信息論

1.3 模型選擇

模型過復雜會造成過擬合問題,需要通過一些技術來降低模型的復雜度。
就最大似然而言,可以增加一個懲罰項來補償過于復雜的模型造成的過擬合問題。

赤池信息準則,使式1.73最大,M是模型中可調節參數的數量:
lnp(D∣wML)?Mlnp(\mathcal{D}|\bm{w}_ML)-Mlnp(DwM?L)?M

1.73式?是一個變體,被稱作貝葉斯信息準則,但是沒有考慮模型參數的不確定性。

1.4 緯度災難

一個三分類問題畫格子分類。隨著輸入維度的增加會造成的問題:

  1. 單元格的數量會隨輸入空間維度的增加而增加
  2. 為了保證單元格不空,訓練數據的量需要增加

高維空間中的直覺錯誤:
3. 高維空間中,一個球的體積大部分會聚集在表面附近薄球上
4. 在高緯空間中,高斯分布的概率質量會集中在某一半徑的薄球上

1.5 決策論

決策論和概率論結合:能夠在涉及不確定性的條件下作出最優決策。

例如:依據病人X光片,判斷病人是否得了癌癥,并依據判斷給出是否需要治療的決定。

概率論如何在決策時起作用

1.5.1最小錯誤分率

需要一個規則將不同的x分到合適的類別中,按照規則會把輸入空間分成不同的決策區域Rk\mathcal{R}_kRk?。在Rk\mathcal{R}_kRk?中的點將被分為Ck\mathcal{C}_kCk?類。

考慮一維數軸上的兩分類問題,錯分概率為:
p(mistake)=p(x∈R1,C2)+p(x∈R2,C1)=∫R1p(x,C2)dx+∫R2p(x,C1)dx(1.78)p(mistake)=p(x\in\mathcal{R}_1,\mathcal{C}_2)+p(x\in\mathcal{R}_2,\mathcal{C}_1)=\int_{\mathcal{R}_1}p(x,\mathcal{C}_2)dx + \int_{\mathcal{R}_2}p(x,\mathcal{C}_1)dx\tag{1.78} p(mistake)=p(xR1?,C2?)+p(xR2?,C1?)=R1??p(x,C2?)dx+R2??p(x,C1?)dx(1.78)

為了使(1.78)式最小,那么可以得到一個決策規則:如果p(x,C1)>p(x,C2)p(x,\mathcal{C}_1)>p(x, \mathcal{C}_2)p(x,C1?)>p(x,C2?)就將x劃分為類別1。也等價于將x 分入到具有最大后驗概率的類別中。

1.5.2最小化期望損失

實際引用中,目標遠比最小化錯誤分類率更加復雜。

就癌癥判斷例子中每種錯誤分類所帶來的決策損失是不同的:健康誤判為有病–多了復查,有病誤判為健康–錯過最佳治療時間。

損失函數(loss function) 也被稱為代價函數(cost function):對所有可能的決策或者動作 可能產生的損失的一種整體度量。目標是:最小化期望損失。

期望損失的計算:x屬于Ck\mathcal{C}_kCk?類,我們將其劃分為Cj\mathcal{C}_jCj?類,造成的損失為Lkj\mathcal{L}_{kj}Lkj?
E[L]=∑k∑j∫RjLkjp(x,Ck)dx\mathbb{E}[L]=\sum_k\sum_j\int_{\mathcal{R}_j}L_{kj}p(x,\mathcal{C}_k)dxE[L]=k?j?Rj??Lkj?p(x,Ck?)dx

得出的結論還是需要:后驗概率

1.5.3拒絕選項

在類別歸屬相對不確定的時候,避免作出決策是更合適的選擇。這樣會使模型的分類錯誤率降低,這被稱為拒絕選項(reject option)。

癌癥的例子:使用自動化系統來對幾乎沒有懷疑的X光片進行分類,把不易分類的留給人類專家。

一種簡單的拒絕實現方式:引入一個閾值θ\thetaθ,拒絕后驗概率p(Ck∣x)p(\mathcal{C}_k|x)p(Ck?x)的最大值小于等θ\thetaθ的那些輸入x。

1.5.4推斷和決策

解決決策問題的三種方法:

  1. 推斷類條件密度p(x∣Ck)p(x|\mathcal{C}_k)p(xCk?),推斷類先驗概率密度p(Ck)p(\mathcal{C}_k)p(Ck?),計算后驗概率->決策(生成式模型)。
  2. 直接推斷后驗概率p(Ck∣x)p(\mathcal{C}_k|x)p(Ck?x)->決策(判別式模型)。
  3. 找到一個判別函數f(x)f(x)f(x),直接把輸入x映射到類別標簽中。

三種方法各有優缺點。

1.5.5 回歸問題的損失函數

回到曲線擬合問題:對于每一個輸入x,對應目標值t的估計值為y(x), 造成的損失是L(t,y(x)),那么期望損失為:
E[L]=∫∫L(t,y(x))p(x,t)dxdt\mathbb{E}[L]=\int\int L(t,y(x))p(x,t)dxdtE[L]=L(t,y(x))p(x,t)dxdt

L(t,y(x))常用平方損失函數–L(t,y(x))=[y(x)?t]2L(t,y(x))=[y(x)-t]^2L(t,y(x))=[y(x)?t]2。我們的目標是選擇合適的y(x)來使E[L]\mathbb{E}[L]E[L]最小化。形式變分法求解y(x)(不會求):
δE[L]δy(x)=2∫{y(x)?t}p(x,t)dt=0\frac{\delta\mathbb{E}[L]}{\delta y(x)}=2\int\{y(x)-t\}p(x,t)dt = 0δy(x)δE[L]?=2{y(x)?t}p(x,t)dt=0

使用概率的加和規則和乘積規則有(對上式子進行移項和相除操作得到):
y(x)=∫tp(x,t)dtp(x)=∫tp(t∣x)dt=Et[t∣x](1.89)y(x)=\frac{\int tp(x,t)dt}{p(x)}=\int tp(t|x)dt=\mathbb{E}_t[t|x]\tag{1.89}y(x)=p(x)tp(x,t)dt?=tp(tx)dt=Et?[tx](1.89)

Et[t∣x]\mathbb{E}_t[t|x]Et?[tx]符號迷惑,理解成 t 在給定x條件下的期望會更容易理解。Ep(t∣x)[t]\mathbb{E}_{p(t|x)}[t]Ep(tx)?[t]

所以y(x)最優解就是t的條件期望。

同樣有三種方法來解決回歸問題:

  1. 確定p(x,t),計算p(t|x),依據1.89式進行積分
  2. 推斷p(t|x),依據1.89式進行積分
  3. 直接通過數據找到回歸函數模型y(x)

閔可夫斯基損失函數–平方損失函數的推廣
E[L]q=∫∫∣y(x)?t∣qp(x,t)dxdt\mathbb{E}[L]_q=\int\int|y(x)-t|^qp(x,t)dxdtE[L]q?=y(x)?tqp(x,t)dxdt

1.6 信息論

信息量的概念:觀察到一個離散型隨機變量時,我們能獲得多少信息?直覺上,低概率事件具有高信息量。尋找一個表達信息量的函數h(?)h(\cdot)h(?)是p(x)的遞減函數。且如果有兩個不相關的事件x,y,觀察到兩個事件同時發生的信息量應該等于兩件事各自發生時的概率,即h(x,y)=h(x)+h(y)h(x,y)=h(x)+h(y)h(x,y)=h(x)+h(y),兩件不相關的事是統計獨立的,因此有p(x,y)=p(x)p(y)p(x,y)=p(x)p(y)p(x,y)=p(x)p(y)。容易得出h(x)與p(x)是對數關系。因此有(單個隨機變量的信息量):
h(x)=?log?2p(x)h(x)=-\log_2p(x)h(x)=?log2?p(x)

熵:傳輸隨機變量x的平均信息量為:
H[x]=?∑xp(x)log2p(x)H[x]=-\sum_xp(x)log_2p(x)H[x]=?x?p(x)log2?p(x)

非均勻分布的熵比均勻分布的熵要小。

無噪聲編碼定理:熵是傳輸一個隨機變量狀態值所需比特位的下界。

熵起源于物理學:N個物體放到若干個箱子中,所有的方案數構成乘數。乘數通過合適參數縮放對數乘數,且當N?>∞N->\inftyN?>時,就可以得到自然對數熵的定義。

離散型隨機變量的熵特性:
熵是非負數;熵的最小值為0;利用概率歸一化約束,使用拉格朗日乘子法找到熵的最大值為所有的值都相等,且等于1M\frac{1}{M}M1?時,熵值最大。M為xix_ixi?的狀態總數。

熵的概念從離散型隨機變量擴展到連續型隨機變量:將連續型隨機變量離散化,然后讓Δ?>0\Delta->0Δ?>0,得到微分熵的概念:
?∫p(x)ln?p(x)dx-\int p(x)\ln p(x) dx?p(x)lnp(x)dx
熵的離散形式和連續形式相差一個ln?Δ\ln \DeltalnΔΔ?>0\Delta->0Δ?>0的情況下是發散的。反映一個重要的事實:具體化一個連續型隨機變量需要大量的比特位。

連續型隨機變量的熵特性:
最大化微分熵的分布是高斯分布,最大的熵值還由分布的方差決定。隨著方差的增大而增大(越平越大的趨勢還是在的)
H[x]=12{1+ln?(2πσ2)}H[x]=\frac{1}{2}\{1+\ln(2\pi\sigma ^2)\}H[x]=21?{1+ln(2πσ2)}
微分熵可以為負數。

條件熵:

**KL散度:**目標分布p(x)p(x)p(x),近似分布q(x∣θ)q(x|\theta)q(xθ)–平均附加信息量,比原來的信息量多出來的信息量。KL散度不是一個對稱量。
KL(p∣∣q)=?∫p(x)ln?{q(x)p(x)}dxKL(p||q)=-\int p(x)\ln\left\{\frac{q(x)}{p(x)}\right\}dxKL(pq)=?p(x)ln{p(x)q(x)?}dx

**凸函數:**弦在函數圖像上,對應的函數的二階導數為正。
f(λa+(1?λ)b)<=λf(a)+(1?λ)f(b)f(\lambda a + (1-\lambda)b) <= \lambda f(a) + (1-\lambda)f(b)f(λa+(1?λ)b)<=λf(a)+(1?λ)f(b)

**凹函數:**弦在函數圖像的下方,對應的二階導數為負數
f(x)=?f(x)f(x)=-f(x)f(x)=?f(x)

利用Jensen 不等式+?ln?x-\ln x?lnx函數是凸函數 證明了KL散度非負數。因此可以將KL散度看作兩分布之間不相似程度的度量。(解釋性說明

最大似然等價與最小化**目標分布p(x)p(x)p(x),近似分布q(x∣θ)q(x|\theta)q(xθ)之間的KL散度。

**互信息:**獲知一個隨機變量的值后另一個隨機變量不確定度減少的量。
I(x,y)=H(x)?H(x∣y)=H(y)?H(y∣x)I(x,y) = H(x)-H(x|y)=H(y)-H(y|x)I(x,y)=H(x)?H(xy)=H(y)?H(yx)


關鍵概念:
誤差函數(error function)
泛化能力(generalization)
特征抽取(feature extract)
預處理(pre-processed)
模型選擇(model selection)
模型對比(model comparison)
正則化(regularization)
權值衰減(weight decay)
收縮(shrinkage)
加和規則(sum rule)
乘積規則(product relu)

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

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

相關文章

leetcode112 路徑總和

給定一個二叉樹和一個目標和&#xff0c;判斷該樹中是否存在根節點到葉子節點的路徑&#xff0c;這條路徑上所有節點值相加等于目標和。 說明: 葉子節點是指沒有子節點的節點。 示例: 給定如下二叉樹&#xff0c;以及目標和 sum 22&#xff0c; 5 / \ …

關于游戲架構設計的一些整理吧

一個大型的網落游戲服務器應該包含幾個模塊:網絡通訊,業務邏輯,數據存儲,守護監控(不是必須),其中業務邏輯可能根據具體需要,又劃分為好幾個子模塊。 這里說的模塊可以指一個進程,或者一個線程方式存在,本質上就是一些類的封裝。

linux時間輪 Timing-Wheel的實現

過一段時間上傳更新自己的心得&#xff0c;以及linux的時間輪實現 現在git上傳自己的C代碼 gitgithub.com:pbymw8iwm/Timing-Wheel.git

leetcode128 最長連續序列

給定一個未排序的整數數組&#xff0c;找出最長連續序列的長度。 要求算法的時間復雜度為 O(n)。 示例: 輸入: [100, 4, 200, 1, 3, 2] 輸出: 4 解釋: 最長連續序列是 [1, 2, 3, 4]。它的長度為4 思路&#xff1a;map記錄某個連續序列端點的最大長度。 對于數字i&#xff…

C++(22)--繼承和派生

繼承和派生1.基本概念2.實現公有繼承3.私有繼承的例子4. 繼承和組合《老九學堂C課程》《C primer》學習筆記。《老九學堂C課程》詳情請到B站搜索《老九零基礎學編程C入門》-------------簡單的事情重復做&#xff0c;重復的事情用心做&#xff0c;用心的事情堅持做(老九君)----…

Python- 解決PIP下載安裝速度慢

對于Python開發用戶來講&#xff0c;PIP安裝軟件包是家常便飯。但國外的源下載速度實在太慢&#xff0c;浪費時間。而且經常出現下載后安裝出錯問題。所以把PIP安裝源替換成國內鏡像&#xff0c;可以大幅提升下載速度&#xff0c;還可以提高安裝成功率。 國內源&#xff1a; …

leetcode102 二叉樹的層次遍歷

給定一個二叉樹&#xff0c;返回其按層次遍歷的節點值。 &#xff08;即逐層地&#xff0c;從左到右訪問所有節點&#xff09;。 例如: 給定二叉樹: [3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7 返回其層次遍歷結果&#xff1a; [ [3], [9,20], [15…

Windows Git客戶端搭建

最近開始做Windows 開發&#xff0c;所以找了一些windows下安裝git的教程 本文環境&#xff1a; 操作系統&#xff1a;Windows XP SP3 Git客戶端&#xff1a;TortoiseGit-1.8.16.0-32bit 一、安裝Git客戶端 全部安裝均采用默認&#xff01; 1. 安裝支撐軟件 msysgit: http://ms…

C++(23)--多態性與虛函數

多態性與虛函數1.靜態多態-重載2.動態多態-重寫2.1 向上轉換/向下轉換3.虛函數的工作原理4.純虛函數和抽象類5.補充項目(都市浮生記)-卒《老九學堂C課程》學習筆記。《老九學堂C課程》詳情請到B站搜索《老九零基礎學編程C入門》-------------簡單的事情重復做&#xff0c;重復的…

如何在Appscale下發布自己的應用(一)

本篇文章主要講如何在本地搭建appscale環境。由于國內的信息資源有限&#xff0c;很多重要的論壇被墻了&#xff0c;所以遇到不少麻煩&#xff0c;由于最近一段時間vpn也被封掉了&#xff0c;我只能通過特殊渠道方法來翻墻查閱資料&#xff0c;走了不少彎路。 1.先說系統和環境…

總結了線程安全性的二十四個精華問題

1、對象的狀態&#xff1a;對象的狀態是指存儲在狀態變量中的數據&#xff0c;對象的狀態可能包括其他依賴對象的域。在對象的狀態中包含了任何可能影響其外部可見行為的數據。 2、一個對象是否是線程安全的&#xff0c;取決于它是否被多個線程訪問。這指的是在程序中訪問對象的…

如何在Appscale下發布自己的應用(二)

本文開始講如何發布自己的app應用到appscle上 建好appscle網站后&#xff0c;可以在命令行通過 appscle deploy apppathname 來發布自己應用。 除了用命令行提交應用之外&#xff0c;還可以通過appscale的網站直接提交&#xff0c;選擇 upload application->選擇上傳文件-&g…

Python模塊(7)-SciPy 簡易使用教程

SciPy 簡易使用教程1. 符號計算2. 函數向量化3. 波形處理scipy.signal3.1 濾波器3.2 波峰定位基于numpy的一個高級模塊&#xff0c;為數學&#xff0c;物理&#xff0c;工程等方面的科學計算提供無可替代的支持。 做重要的思想是&#xff1a;符號計算和函數向量化 1. 符號計算…

Xcode的Architectures和Valid Architectures的區別

目錄[-] Xcode的Architectures和Valid Architectures的區別 Architectures Valid Architectures 原因解釋如下&#xff1a; 參考1&#xff1a; 所有IOS設備詳情列表 List of iOS devices - Wikipedia, the free encyclopedia 參考2&#xff1a; iOS 7: 如何為iPhone 5S編譯64位…

Python模塊(8)-sklearn 簡易使用教程

sklearn 簡易使用教程1.scikit-learn的數據集2.scikit-learn 的訓練和預測scikit-learn 是在Numpy,SciPy,Matplotlib三個模塊上編寫的&#xff0c;數據挖掘和數據分析的一個簡單有效的工具。scikit-learn包括6大功能&#xff1a;分類&#xff0c;回歸&#xff0c;聚類&#xff…

如何發布GAE的應用(一)

安裝googleSDK的環境&#xff1a; 1 下載安裝包從官網下載 https://cloud.google.com/sdk/downloads -> https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/google-cloud-sdk-170.0.0-windows-x86_64-bundled-python.zip 2 如果本地安裝了python&#xff0c;直…

leetcode887 雞蛋掉落

你將獲得 K 個雞蛋&#xff0c;并可以使用一棟從 1 到 N 共有 N 層樓的建筑。 每個蛋的功能都是一樣的&#xff0c;如果一個蛋碎了&#xff0c;你就不能再把它掉下去。 你知道存在樓層 F &#xff0c;滿足 0 < F < N 任何從高于 F 的樓層落下的雞蛋都會碎&#xff0c;…

Docker 的日志相關整理

1 Docker daemon日志的位置 Docker daemon日志的位置&#xff0c;根據系統不同各不相同。 Ubuntu - /var/log/upstart/docker.logBoot2Docker - /var/log/docker.logDebian GNU/Linux - /var/log/daemon.logCentOS - /var/log/daemon.log | grep dockerFedora - journalctl -u…

PaperNotes(15)-圖神經網絡、PyG極簡版入門筆記

圖神經網絡概況1.GNN,GCN,GE的區別2.圖卷積的通式--矩陣該如何作用2.1實現12.2實現22.3實現33.PyTorch geometric3.1 PyG內置數據集3.1.1ENZYMES dataset3.1.2Cora3.2 PyG自定義數據集3.2.1Data構建簡單的圖結構3.2.2 Dataset3.2.3 InMemoryDataset一文讀懂圖卷積GCN(https://z…

leetcode76 最小覆蓋子串

給你一個字符串 S、一個字符串 T&#xff0c;請在字符串 S 里面找出&#xff1a;包含 T 所有字母的最小子串。 示例&#xff1a; 輸入: S "ADOBECODEBANC", T "ABC" 輸出: "BANC" 說明&#xff1a; 如果 S 中不存這樣的子串&#xff0c;則返…