機器學習之監督學習

? ? ? ?整理一下機器學習中監督學習相關內容,爭取梳理出一條易于理解和掌握的脈絡。下面會有很多相關參考博客和文章,先放到一起,最后再做個整體的梳理。持續更新中。。。。。。

監督學習作為機器學習的核心分支,其理論體系與實踐應用都非常豐富。從幾個通用視角出發,我們可以對經典監督學習模型進行分類和概述:

1. 判別模型 vs 生成模型
- 判別模型**直接關注從輸入到輸出的映射關系,即學習條件概率 \(P(y|x)\),旨在最大化預測準確性,不涉及數據生成過程。例如:
? - 邏輯斯特回歸:用于二元分類問題,直接學習將輸入映射到類別的邊界。
? - 支持向量機:通過最大化間隔來找到分類超平面,同樣關注直接分類邊界。
? - 感知機:是最簡單的線性分類器,也是支持向量機的前身,直接劃分數據空間。
? - 神經網絡:可以處理復雜的非線性分類問題,通過多層結構學習輸入到輸出的復雜映射。
? - k近鄰:基于實例的學習方法,通過計算測試樣本與訓練集中樣本的距離來預測類別,也是一種判別模型。

- 生成模型則試圖學習數據的聯合分布 \(P(x,y)\),之后利用貝葉斯規則得到條件概率 \(P(y|x)\)。例如:
? - 樸素貝葉斯:假設特征間相互獨立,直接從統計角度計算給定輸入特征條件下類別的概率。
? - 高斯判別分析(GDA):是一種生成模型,假設數據屬于不同類別時遵循不同的正態分布,通過這些分布來預測類別。

?2. 非概率模型 vs 概率模型
- 非概率模型不提供預測的置信度或概率分布,僅給出確定性的預測結果。例如:
? - 感知機、k近鄰在標準實現中通常是非概率的,只給出最可能的類別標簽。
??
- **概率模型**能夠提供預測的概率或置信度,如:
? - **邏輯斯特回歸**雖然主要用于分類,但通過調整可以給出預測類別的概率。
? - **樸素貝葉斯**直接基于概率推斷進行分類。
? - **高斯判別分析**也屬于概率框架,因為它基于概率密度函數來區分不同類別的數據。

### 3. 參數模型 vs 非參數模型
- **參數模型**假設數據符合特定的參數化分布,學習過程主要是估計這些參數。例如:
? - **邏輯斯特回歸**、**線性回歸**、**樸素貝葉斯**都是參數模型,它們的復雜度不隨數據量增加而顯著變化。
??
- **非參數模型**不對數據分布做嚴格假設,模型的復雜度可以隨數據量增加而增長。例如:
? - **支持向量機**和**神經網絡**在理論上可以視為非參數模型,因為它們的邊界或決策面可以隨著訓練數據的增加而變得更復雜。
? - **k近鄰**也是一種典型的非參數模型,因為它的預測基于訓練集中的實例,而不是固定的參數。

這些模型各有優勢和適用場景,選擇合適的模型需要考慮數據的特性、任務需求以及對模型可解釋性的要求。計算學習理論,特別是VC維、PAC學習和PAC-Bayes理論等,為這些模型的泛化能力提供了理論保障,幫助我們理解在什么條件下可以期望模型在未見數據上表現良好。

下面內容主要來自?監督學習分類,

鏈接:https://blog.csdn.net/qq_39521554/article/details/79134274

機器學習是一個有著多分支的學科。其中,監督學習是其中發展最為成熟的分支。這不僅是由于在監督學習框架下面有各種各樣的學習模型,如邏輯斯回歸、樸素貝葉斯、支持向量機等,更是因為這個框架有著堅實的理論支撐,機器學習中的計算學習理論就是主要為監督學習服務的:這套理論以概率的方式回答了哪些問題是可學習的,學習成功的概率有多大等問題,其中比較常見的理論有VC理論、PAC理論、PAC-Bayes理論等。為了盡可能理清監督學習的框架,本文嘗試從幾個比較通用的視角來看待這些經典的監督學習模型,并對它們進行分類。其中,幾個通用的視角具體是指:判別模型 VS 生成模型、 非概率模型 VS 概率模型、參數模型 VS 非參數模型,而本文涉及到的經典的監督學習模型包括感知機、邏輯斯特回歸、高斯判別分析、樸素貝葉斯、支持向量機、神經網絡、k近鄰。

問題設定:

假設輸入空間(特征空間)為歐幾里得空間X,維數是d,我們主要考慮二分類問題,所以輸出空間設定為Y(Y={-1,1})。x代表輸入空間中的一個隨機向量,y代表輸出空間中的一個隨機變量。P(x,y)是x與y的聯合分布,我們并不知道這個聯合分布的形式,但由這個分布產生了m個樣例,構成我們的訓練集D,

1 判別模型 VS 生成模型

1.1 判別模型

按照文獻[1]與[2]給出的解釋,判別模型分為兩種:(1)直接對輸入空間到輸出空間的映射進行建模,也就是學習函數 h,

(2)對條件概率P(y|x)進行建模,然后根據貝葉斯風險最小化的準則進行分類:

感知機、邏輯斯特回歸、支持向量機、神經網絡、k近鄰都屬于判別學習模型。

1.2 生成模型

生成模型是間接地,先對P(x,y)進行建模,再根據貝葉斯公式

算出P(y|x),最后根據(I)來做分類 (由(I)可知,實際上不需要對P(x)進行建模)。<<Statistical learning theory>> 的作者Vapnik有句名言: "one should solve the [classification] problem directly and never solve a more general problem as an intermediate step[such as modeling P(x|y)]." 按照他這樣說,我們只需對P(y|x)直接進行建模就行了,沒必要間接地先對P(x,y)進行建模。但是對P(x,y)進行建模從而達到判別的目的也有它自身的一些優勢,這一點文獻[1]中給出了解釋。高斯判別分析、樸素貝葉斯屬于生成學習模型。

2 非概率模型 VS 概率模型

2.1 非概率模型

非概率模型指的是直接學習輸入空間到輸出空間的映射h,學習的過程中基本不涉及概率密度的估計,概率密度的積分等操作,問題的關鍵在于最優化問題的求解。通常,為了學習假設h(x),我們會先根據一些先驗知識(prior knowledge) 來選擇一個特定的假設空間H(函數空間),例如一個由所有線性函數構成的空間,然后在這個空間中找出泛化誤差最小的假設出來,

其中l(h(x),y)是我們選取的損失函數,選擇不同的損失函數,得到假設的泛化誤差就會不一樣。由于我們并不知道P(x,y),所以即使我們選好了損失函數,也無法計算出假設的泛化誤差,更別提找到那個給出最小泛化誤差的假設。于是,我們轉而去找那個使得經驗誤差最小的假設,

這種學習的策略叫經驗誤差最小化(ERM),理論依據是大數定律:當訓練樣例無窮多的時候,假設的經驗誤差會依概率收斂到假設的泛化誤差。要想成功地學習一個問題,必須在學習的過程中注入先驗知識[3]。前面,我們根據先驗知識來選擇假設空間,其實,在選定了假設空間后,先驗知識還可以繼續發揮作用,這一點體現在為我們的優化問題(IV)加上正則化項上,例如常用的L1正則化,L2正則化等。

正則化項一般是對模型的復雜度進行懲罰,例如我們的先驗知識告訴我們模型應當是稀疏的,這時我們會選擇L1范數。當然,加正則化項的另一種解釋是為了防止對有限樣例的過擬合,但這種解釋本質上還是根據先驗知識認為模型本身不會太復雜。在經驗誤差的基礎上加上正則化項,同時最小化這兩者,這種學習的策略叫做結構風險最小化(SRM)。最后,學習算法A根據訓練數據集D,從假設空間中挑出一個假設g,作為我們將來做預測的時候可以用。具體來說,學習算法A其實是一個映射,對于每一個給定的數據集D,對于選定的學習策略(ERM or SRM),都有確定的假設與D對應

感知機、支持向量機、神經網絡、k近鄰都屬于非概率模型。線性支持向量機可以顯式地寫出損失函數——hinge損失。神經網絡也可以顯式地寫出損失函數——平方損失。

時下流行的遷移學習,其中有一種遷移方式是基于樣本的遷移。這種方式最后要解決的問題就是求解一個加權的經驗誤差最小化問題,而權重就是目標域與源域的邊際密度之比。所以,線性支持向量機在遷移學習的環境下可以進行直接的推廣。

2.2 概率模型

概率模型指出了學習的目的是學出P(x,y)或P(y|x),但最后都是根據(I)來做判別歸類。對于P(x,y)的估計,一般是根據乘法公式P(x,y) = P(x|y)P(y)將其拆解成P(x|y),P(y)分別進行估計。無論是對P(x|y),P(y)還是P(y|x)的估計,都是會先假設分布的形式,例如邏輯斯特回歸就假設了Y|X服從伯努利分布。分布形式固定以后,剩下的就是分布參數的估計問題。常用的估計有極大似然估計(MLE)和極大后驗概率估計(MAP)等。其中,極大后驗概率估計涉及到分布參數的先驗概率,這為我們注入先驗知識提供了途徑。邏輯斯特回歸、高斯判別分析、樸素貝葉斯都屬于概率模型。

在一定的條件下,非概率模型與概率模型有以下對應關系

3 參數模型 VS 非參數模型

3.1 參數模型

如果我們對所要學習的問題有足夠的認識,具備一定的先驗知識,此時我們一般會假定要學習的目標函數f(x)或分布P(y|x)的具體形式。然后,通過訓練數據集,基于ERM、SRM、MLE、MAP等學習策略,可以估計出f(x)或P(y|x)中含有的未知參數。一旦未知參數估計完畢,訓練數據一般來說,就失去其作用了,因為這些估計出來的參數就是訓練數據的濃縮。通過這種方式建立起來的模型就是參數模型。參數模型的一個很重要的特點是,如果對于模型的假設正確,那么只需要很少的訓練數據就可以從假設空間中學出一個很好的模型。但是,如果模型的假設錯誤,那么無論訓練的數據量有多大,甚至趨于無窮大,學出的模型都會與實際模型出現不可磨滅的偏差。感知機、邏輯斯特回歸、高斯判別分析、樸素貝葉斯、線性支持向量機都屬于參數模型。對于神經網絡來說,當固定了隱層的數目以及每一層神經元的個數,它也屬于參數模型。但由于隱層數目與每一層神經元個數的不確定性,很多時候,神經網絡都被歸類為半參數模型。

3.2 非參數模型

當我們對所要學習的問題知之甚少,此時我們一般不會對潛在的模型做過多的假設。在面對預測任務的時候,我們通常會用上所有的訓練數據。例如簡單的核密度估計(KDE)的表達式中,就帶有所有訓練數據的信息。通過這種方式建立的模型就是非參數模型。非參數模型的一個很重要的特點就是:let the data speak for itself. 正因為如此,非參數模型的存儲開銷、計算開銷都會比參數模型大的多。但是,由于不存在模型的錯誤假定問題,可以證明,當訓練數據量趨于無窮大的時候,非參數模型可以逼近任意復雜的真實模型。這正是非參數模型誘人的一點。另外需要說明的一點是,非參數模型之所以叫做非參數,并不是因為模型中沒有參數。實際上,非參數模型中一般會含有一個或多個超參數,外加無窮多個普通的參數。k近鄰就是典型的非參數模型。

時下流行的深度學習,其本質是一個半參數模型的神經網絡。通過加大網絡的深度(加大隱層數目)以及寬度(增加每一層神經元的個數),使假設空間的復雜度得到極大的提高。復雜的假設空間有極強的表達能力,當訓練數據量很大的時候,不會陷入過擬合。所以,深度學習的成功,從理論上講,一方面來源于海量的訓練數據,另一方面來源于其復雜的網絡結構。

參考文獻

[1] On Discriminative vs. Generative classifiers: A comparison of logistic regression and naive Bayes. nips2002

[2] 《統計學習方法》 李航

[3] Label-Free Supervision of Neural Networks with Physics and Domain Knowledge. AAAI2016

[4] 監督學習分類:https://blog.csdn.net/qq_39521554/article/details/79134274
————————————————

? ? ? ? ? ? ? ? ? ??
? ? ? ? ? ? ? ? ? ? ? ??
?

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

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

相關文章

C# 警告 warning MSB3884: 無法找到規則集文件“MinimumRecommendedRules.ruleset”

警告 warning MSB3884: 無法找到規則集文件“MinimumRecommendedRules.ruleset” C:\Program Files\Microsoft Visual Studio\2022\Professional\MSBuild\Current\Bin\amd64\Microsoft.CSharp.CurrentVersion.targets(129,9): warning MSB3884: 無法找到規則集文件“MinimumRe…

競賽選題 python的搜索引擎系統設計與實現

0 前言 &#x1f525; 優質競賽項目系列&#xff0c;今天要分享的是 &#x1f6a9; python的搜索引擎系統設計與實現 &#x1f947;學長這里給一個題目綜合評分(每項滿分5分) 難度系數&#xff1a;3分工作量&#xff1a;5分創新點&#xff1a;3分 該項目較為新穎&#xff…

正則表達式在Java中的應用與實例

正則表達式在Java中的應用與實例 大家好&#xff0c;我是免費搭建查券返利機器人省錢賺傭金就用微賺淘客系統3.0的小編&#xff0c;也是冬天不穿秋褲&#xff0c;天冷也要風度的程序猿&#xff01; 正則表達式是一種強大的工具&#xff0c;用于模式匹配和字符串處理。在Java中…

武漢星起航:成功掛牌上股交,引領跨境電商行業進入全新發展階段

2023年10月30日&#xff0c;武漢星起航電子商務有限公司在上海股權托管交易中心成功掛牌展示&#xff0c;這一里程碑式的事件標志著武漢星起航正式登陸資本市場&#xff0c;開啟了公司發展的新篇章。作為亞馬遜跨境電商領域的領軍企業之一&#xff0c;武漢星起航此次掛牌不僅是…

文件操作詳解(C語言)

1.為什么要用到文件&#xff1f;怎樣數據才能持久化&#xff1f; 保存在內存中的數不安全&#xff08;一次斷電&#xff0c;忘記保存&#xff0c;不用了還給系統&#xff09; 持久化&#xff1a;保存在硬盤上&#xff08;放在文件中&#xff09; 什么是文件&#xff1f;文件…

Hadoop-08-HDFS集群 基礎知識 命令行上機實操 hadoop fs 分布式文件系統 讀寫原理 讀流程與寫流程 基本語法上傳下載拷貝移動文件

章節內容 上一節完成&#xff1a; HDFS的簡介內容HDFS基礎原理HDFS讀文件流程HDFS寫文件流程 背景介紹 這里是三臺公網云服務器&#xff0c;每臺 2C4G&#xff0c;搭建一個Hadoop的學習環境&#xff0c;供我學習。 之前已經在 VM 虛擬機上搭建過一次&#xff0c;但是沒留下…

SpringSecurity的執行原理

SpringSecurity的執行原理&#xff1a;當我們服務端接收到請求后&#xff0c;首先通過DelegatingFilterProxy代理對象交互&#xff0c;轉發給springsecurity的執行鏈&#xff0c;由于他自帶的執行鏈有16條&#xff0c;我們將不用的過濾器進行了排除&#xff0c;同時加入了我們自…

如何保護應用?可快速部署的WAF服務器分享

Web應用攻擊是安全事件和數據泄露的主要原因。相關統計表明&#xff0c;超過四分之三的網絡犯罪直指應用及其漏洞。為保護數量日益增長的應用安全&#xff0c;Web應用防火墻(WAF)因此而生。本文則聚焦于WAF服務器&#xff0c;了解它的性能與具體的實踐應用。   新加坡網絡安全…

《單片機》期末考試復習-學習筆記總結

題型 問答題(15分)編程題(65分)編程題1(20分)編程題2(45分)設計題(20分)一、問答題 1.1.單片機概念和特點 1.2. 51單片機的中斷結構 1.3.主從式多機通訊的概念及其工作原理 多機通信是指兩臺以上計算機之間的數據傳輸,主從式多機通信是多機通信系統中最簡單的一種,…

PHP電商系統開發指南最佳實踐

電子商務系統開發的最佳實踐包括&#xff1a;數據庫設計&#xff1a;選擇適合關系型數據庫&#xff0c;優化數據結構&#xff0c;考慮表分區&#xff1b;安全&#xff1a;加密數據&#xff0c;防止 sql 注入&#xff0c;處理會話管理&#xff1b;用戶界面&#xff1a;遵循 ux 原…

vue3長列表優化,使用vue-virtual-scroller實現直播間彈幕列表虛擬滾動效果

使用的組件庫是&#xff1a;https://github.com/Akryum/vue-virtual-scroller 官方文檔&#xff1a;vue-virtual-scroller 安裝依賴 npm install --save vue-virtual-scrollernextpnpm install --save vue-virtual-scrollernextyarn add vue-virtual-scrollernext 組件導入…

如何用文章改寫ai軟件進行改寫?5個軟件教你快速進行修改文章

如何用文章改寫ai軟件進行改寫&#xff1f;5個軟件教你快速進行修改文章 使用AI改寫軟件可以幫助你快速重寫文章&#xff0c;使其更加流暢、符合要求或避免重復。以下是五款優質的AI改寫軟件&#xff0c;它們能夠幫助你快速進行文章修改&#xff1a; 聰明靈犀 這是一款非常簡…

數據結構_1.0

一、數據結構概述 1.1 概念 在計算機科學中&#xff0c;數據結構是一種數據組織、管理和存儲的格式 。它是相互之間存在一種或多種特定關系的數據元素的集合。通常情況下&#xff0c;精心選擇的數據結構可以帶來更高的運行或者存儲效率。數據結構往往同高效的檢索算法和索引技…

【開源合規】開源許可證基礎知識與風險場景引入

文章目錄 什么是開源許可證(License)?開源許可證有什么用?開源許可證分類開源許可證分類及描述公共代碼 (Public Domain)CC0無License寬松型許可證 (Permissive)MITApache 2.0BSD弱互惠型許可證 (Weak Copyleft)LGPLMPLEPL互惠型許可證 (Reciprocal)GPLEUPL強互惠許可證 (Str…

讀-改-寫操作

1 什么是讀-改-寫操作 “讀-改-寫”&#xff08;Read-Modify-Write&#xff0c;簡稱RMW&#xff09;是一種常見的操作模式&#xff0c;它通常用于需要更新數據的場景。 這個模式包含三個基本步驟&#xff1a; 1.讀&#xff08;Read&#xff09;&#xff1a;首先讀取當前的數據…

從0開始學習pyspark--pyspark的數據分析方式[第2節]

PySpark是Apache Spark的Python API&#xff0c;能夠在分布式計算環境中處理大規模數據。本文將詳細介紹PySpark中不同的數據分析方式&#xff0c;包括它們的使用場景、操作解釋以及示例代碼。 1. RDD&#xff08;Resilient Distributed Dataset&#xff09;API 概述 RDD是Sp…

Linux——查找文件-find(詳細)

查找文件-find 作用 - 按照文件名、大小、時間、權限、類型、所屬者、所屬組來搜索文件 格式 find 查找路徑 查找條件 具體條件 操作 注意 - find命令默認的操作是print輸出 - find是檢索文件的&#xff0c;grep是過濾文件中字符串 參數 參數 …

簡述Vue中的數據雙向綁定原理

Vue中的數據雙向綁定原理是Vue框架的核心特性之一&#xff0c;它通過數據劫持結合發布者-訂閱者模式來實現。下面將詳細闡述Vue中數據雙向綁定的原理&#xff0c;并盡量按照清晰的結構進行歸納&#xff1a; 一、數據劫持 使用Object.defineProperty()&#xff1a; Vue在組件…

Mojo模板引擎:釋放Web開發的無限潛能

&#x1f680; Mojo模板引擎&#xff1a;釋放Web開發的無限潛能 Mojolicious是一個基于Perl的現代化、高性能的Web開發框架&#xff0c;它內置了一個功能強大的模板引擎&#xff0c;專門用于快速構建Web應用程序。Mojo的模板引擎不僅簡潔易用&#xff0c;而且具備多種高級特性…

《每天5分鐘用Flask搭建一個管理系統》第11章:測試與部署

第11章&#xff1a;測試與部署 11.1 測試的重要性 測試是確保應用質量和可靠性的關鍵步驟。它幫助開發者發現和修復錯誤&#xff0c;驗證功能按預期工作。 11.2 Flask測試客戶端的使用 Flask提供了一個測試客戶端&#xff0c;可以在開發過程中模擬請求并測試應用的響應。 …