周志華《機器學習導論》第10章 降維與度量學習

https://www.lamda.nju.edu.cn/aml24fall/slides/Chap10.pptx

目錄

1.MDS (Multiple Dimensional Scaling) 多維縮放方法

2.?主成分分析 (Principal Component Analysis, PCA)

2.1 凸優化證明

2.2 人臉識別降維應用

3. 核化PCA

4. 流行學習

4.1 LLE 局部線性嵌入(Locally Linear Embedding)?

4.2?Isomap(等距特征映射)

5.?距離度量學習 (distance metric learning)

5.1 馬氏距離 度量矩陣M

5.2?近鄰成分分析 NCA

5.3 LMNN:Large Margin Nearest Neighbors


聚類 近朱者赤近墨者黑? ? ?kNN k的選取(參數影響結果 參數敏感性)+ 距離計算

密采樣(dense sampling) 高維維度爆炸

如果近鄰的距離閾值設為10^-3,

假定維度為20,如果樣本需要滿足密采樣條件,需要的樣本數量近10^60。

高維距離計算困難 內積都很困難,所以需要降維

人是三維生物 但我們說要去某個地理位置 就說二維位置。(數據本身暗含低維假設 數據冗余

打蚊子降維;? 梵高的畫流形(非線性) 畢加索的畫分段線性

1.MDS (Multiple Dimensional Scaling) 多維縮放方法

旨在尋找一個低維子空間,樣本在此子空間內的距離樣本原有距離盡量保持不變。

線性降維:矩陣乘法。

變形問題:如何在低維子空間和高維空間之間保持樣本之間的內積不變?后續證明 保內積<=>保距離。

設樣本之間的內積矩陣均為B? 對B進行特征值分解:

? ? ?

譜分布長尾:存在相當數量的小特征值 ; 只保留前幾個大維度特征

內積可以求取距離?

距離矩陣D 可以求取內積矩陣B.? 所以保內積 等價 保距離不變。

??

2.?主成分分析 (Principal Component Analysis, PCA)

正交屬性空間中的樣本點,如何使用一個超平面對所有樣本進行恰當的表達?

把散點拍到一個平面? ??主成分分析的兩種等價推導:最近重構性 與 最大可分性

1. 最近重構性:樣本點到這個超平面的距離都足夠近(平面擬合這些點 都很近)

樣本中心化 + 標準正交基??

3i+4j+5k = (3,4,5)·(i,j,k) 內積? ? 如何得到3?? 和i做內積即可。 某方向的投影,即和那個方向的基做內積

? ?w空間下的z 反推x,各個分量加起來。

最小化這個跡 并基正交,可以轉化為優化問題? 是一個QCQP問題

拉格朗日乘子法可得? ??

2. 最大可分性:樣本點在這個超平面上的投影能盡可能分開

保持樣本本身的特性 -- 保留樣本和其他樣本的差異性? ? 下式和上式相同

2.1 凸優化證明

利用對稱矩陣乘上 W^T W 求導 -> 2W

?

2.2 人臉識別降維應用

選取特征基,臉的空間中的基 還是臉; 被稱為特征臉eigenface?

黑白深淺表示某個局部識別的權重比例 比如第一張圖表示頭發權重很高,第四張圖表示胡子權重很高

3. 核化PCA

4. 流行學習

? ? ? ?若低維流形嵌入到高維空間中,則數據樣本在高維空間的分布雖然看上去非常復雜, 但在局部上仍具有歐氏空間的性質,因此,可以容易地在局部建立降維映射關系,然后再設法將局部映射關系推廣到全局。

可以類比成:世界地圖與地球儀? ?想象一下我們的地球

  1. 高維空間(真實世界):地球本身是一個三維的球體(一個嵌入在三維空間中的二維流形)。你站在上面能感覺到它的弧度,這是一個復雜的曲面。

  2. 低維流形:但我們平時使用的世界地圖,是一張二維的紙。這張紙就是一個二維的表示

  3. 局部具有歐氏空間性質:雖然整個地球是彎曲的,但你在你家小區、甚至整個城市范圍里活動時,你完全可以把地面當成是平的。在這個“局部”范圍內,東西南北、距離長短的規則(即歐幾里得幾何法則)都是成立的。這就叫“局部上仍具有歐氏空間的性質”。

  4. 在局部建立降維映射:制圖師如何繪制地圖呢?他們不會一下子畫整個地球。而是會一小塊一小塊地(比如先畫一個城市,再畫一個省)進行測繪。在每一小塊區域內,因為他們可以把地面當成平的,所以可以非常準確地將三維地形映射到二維紙上。這個過程就是“在局部建立降維映射關系”。

  5. 將局部關系推廣到全局:最后,制圖師需要把所有這些小塊的、平整的地圖,用某種方法(比如各種地圖投影算法)拼接、縫合起來,形成一張完整的、但必然有某種失真(比如格陵蘭島看起來和非洲一樣大)的世界地圖。這就是“設法將局部映射關系推廣到全局”。

4.1 LLE 局部線性嵌入(Locally Linear Embedding)?

低維空間 保留近鄰關系 + 近鄰權重

每個數據點都可以由其最近鄰的若干個點的線性組合來重構;

第一步:使用 K-NN(K近鄰)或 ε-球 的方法找到它的 k 個最近鄰點

第二步:計算局部線性關系的權重矩陣 我們試圖用它的 k 個近鄰點 x_j 來最佳地重構它自己。即,找到一組權重系數 W_ij,使得重構誤差最小化

? ??

第三步:尋找一組低維表示 y_i 使得第二步中計算出的權重 W_ij 仍然能最好地重構 y_i

4.2?Isomap(等距特征映射)

測地距離才真實:數據點之間的真實相似性應該用流形上兩點之間的最短路徑(測地距離)來度量。

瑞士卷展平:理想情況沿著曲面走一圈;保距保的是 展開后平面的距離

飛機兩城市飛行軌跡:不只是直接走圓弧 而是要求走的路徑經過有機場的城市(失事著陸)

選取一些點 把這些點兩兩連起來 形成路線 (有點像無向圖單源最短路)

第一步:使用 K-NN(K近鄰)或 ε-球 的方法找到它的 k 個最近鄰點

第二步:基于最短路徑算法 近似任意兩點之間的測地線(geodesic)距離

第三步:尋找一個低維表示,使得在低維空間中點與點之間的歐氏距離,盡可能地接近第一步中計算出的測地距離矩陣 D_G

5.?距離度量學習 (distance metric learning)

降維的主要目的是希望找到一個“合適的”低維空間,在那個空間再算歐氏距離。

能否根據data的類別 直接“學出”合適的距離?

核心思想: 讓機器從數據中自動學習一個最優的距離度量函數,而不是手動選擇。

5.1 馬氏距離 度量矩陣M

即兩個點之間 向量的長度的平方。(xi-xj)^T (xi-xj)

中間乘以一個對角陣 W 即進行不同維度的加權。

中間乘一個半正定對稱矩陣(為了保持距離非負且對稱)M(度量矩陣)

得到馬氏距離 (Mahalanobis distance)

若已知“必連(must-link) 約束集合M? 目標函數最小化他們之間的距離,

與“勿連”(cannot-link) 約束集合C(最少也要距離1)因為沒有對M的尺度放縮限制條件 設置一個常數。

則可轉化為求解這個凸優化問題:

5.2?近鄰成分分析 NCA

近鄰成分分析(Neighbourhood Component Analysis,簡稱 NCA) (致敬PCA)

近鄰分類器在進行判別時通常使用多數投票法,鄰域中的每個樣本投1票, 鄰域外的樣本投0票。

不妨將其替換為概率投票法 j 對 i 投票的影響力,像softmax。

單個樣本即 各種j對i的投票和;整個訓練集 即所有樣本求和。

5.3 LMNNLarge Margin Nearest Neighbors

學習一個新的距離度量,使得在這個新的空間里,K-NN算法的性能達到最優。

臨近位置 相似標簽要盡量近 不同標簽盡量遠;至少要間隔margin 否則懲罰。

?拉近損失

拉遠損失 差值是否>1 的一個0-1變量;寫在優化問題中 設置為ε

??

?加權一下

? 維度降下去了 丟掉了什么信息?丟掉了訓練的時候用的信息。

比如上面的 i,j,l 三元組訓練。抽取所有三元組 就是n^3級別 不算這么多,進行采樣,那么沒被采樣到的數據 相當于被丟掉了。

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

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

相關文章

Kubernetes 彈性伸縮:深入講解 HPA 和 VPA

1. 介紹 Kubernetes 提供了多種資源管理方式&#xff0c;其中 彈性伸縮&#xff08;Auto-scaling&#xff09;是最重要的特性之一。彈性伸縮可以根據應用的負載變化自動調整 Pod 的數量和資源&#xff0c;以確保在高負載下應用能夠正常運行&#xff0c;而在低負載時節省資源。在…

大數據畢業設計選題推薦-基于大數據的家庭能源消耗數據分析與可視化系統-Hadoop-Spark-數據可視化-BigData

?作者主頁&#xff1a;IT畢設夢工廠? 個人簡介&#xff1a;曾從事計算機專業培訓教學&#xff0c;擅長Java、Python、PHP、.NET、Node.js、GO、微信小程序、安卓Android等項目實戰。接項目定制開發、代碼講解、答辯教學、文檔編寫、降重等。 ?文末獲取源碼? 精彩專欄推薦?…

【Spring】原理解析:Spring Boot 自動配置的核心機制與實戰剖析

一、引言在當今的 Java 開發領域&#xff0c;Spring Boot 憑借其快速搭建項目、簡化配置等優勢&#xff0c;成為了眾多開發者的首選框架。而 Spring Boot 自動配置作為其核心特性之一&#xff0c;極大地提升了開發效率&#xff0c;讓開發者能夠更專注于業務邏輯的實現。本文將深…

Java forEach中不能用i++的原因以及代替方案

因為在 Lambda 表達式內部訪問的外部局部變量必須是 final 或 effectively final&#xff08;事實最終變量&#xff09;&#xff0c;而 i 操作試圖改變這個變量的值&#xff0c;違反了這一規定。下面我們來詳細拆解這個問題&#xff0c;讓你徹底明白。1. 一個具體的例子我們先看…

第十四屆藍橋杯青少組C++選拔賽[2023.1.15]第二部分編程題(2 、尋寶石)

參考程序&#xff1a;#include <bits/stdc.h> using namespace std;int main() {int N;cin >> N; // 讀入盒子數vector<int> a(N);for (int i 0; i < N; i) cin >> a[i]; // 讀入每個盒子的寶石數// N > 3&#xff08;題目保證&#x…

9120 部 TMDb 高分電影數據集 | 7 列全維度指標 (評分 / 熱度 / 劇情)+API 權威源 | 電影趨勢分析 / 推薦系統 / NLP 建模用

一、引言在影視行業分析與數據科學實踐中&#xff0c;高分電影數據的深度挖掘已成為平臺優化內容推薦、制片方研判市場趨勢、影迷發現優質作品的核心支撐 —— 通過上映年份與評分的關聯可捕捉電影質量演變、依托熱度與投票數能定位爆款潛質、結合劇情概述可開展情感與主題分析…

Tomcat PUT方法任意寫文件漏洞學習

1 PUT請求 PUT請求是一種在HTTP協議中常見的請求方法 1.1 基本原理 PUT請求是一種用于向指定資源位置上傳新的實體數據的請求方法&#xff0c;與其他請求方法的區別在于&#xff0c;PUT請求用于創建或者更新只當資源位置的實體數據。它與GET請求不同&#xff0c;PUT請求會替換掉…

【C++基礎】初識模板——一起步入泛型編程的大門

引言在 C 世界里&#xff0c;模板&#xff08;Template&#xff09;就像一把萬能鑰匙。它允許你編寫通用的代碼&#xff0c;讓編譯器在需要的時候為具體類型生成對應的函數或類。換句話說&#xff0c;模板是 C 泛型編程&#xff08;Generic Programming&#xff09; 的基石。 如…

項目管理框架如何影響團隊協作

在項目執行過程中&#xff0c;項目管理框架不僅是一套工具和流程&#xff0c;更是團隊協作方式的基礎。不同的項目管理框架會深刻影響團隊溝通效率、任務分配、決策方式和整體協同效果。 傳統框架通常強調層級與計劃&#xff0c;帶來高度規范化的協作&#xff1b;敏捷框架則強調…

正向代理,反向代理,負載均衡還有nginx

這是一個非常核心且重要的后端/運維知識領域。我會用盡可能清晰易懂的方式&#xff0c;結合生動的比喻&#xff0c;為你詳細梳理這些概念。核心概念一覽我們先從一個宏觀的角度來理解它們之間的關系&#xff1a;代理&#xff08;Proxy&#xff09;&#xff1a; 一個中間人的角色…

WebSocket壓縮傳輸優化:機器視覺高清流在DCS中的低延遲方案

引言在現代工業自動化領域&#xff0c;分布式控制系統&#xff08;DCS&#xff09;正面臨著前所未有的數據挑戰。隨著機器視覺技術的廣泛應用&#xff0c;高清視頻流已成為監控產品質量、檢測設備異常和保障生產安全的重要手段。然而&#xff0c;將720P、1080P甚至4K分辨率的高…

《Linux常見命令》

ls 功能&#xff1a;列出目錄下的子目錄與文件&#xff0c;對于文件&#xff0c;還會列出文件名及其他信息。 語法&#xff1a;ls [選項] [目錄或文件] 1.常用選項及說明選項說明-a列出目錄下的所有文件&#xff0c;包括以 . 開頭的隱含文件-d將目錄象文件一樣顯示&#xff0c;…

Python數據分析:函數定義時的位置參數。

目錄1 代碼示例2 歡迎糾錯3 免費爬蟲4 論文寫作/Python 學習智能體1 代碼示例 直接上代碼。 def pargs1(a, b):"""先看確定數量的位置參數。最簡單的位置參數。a和b都叫而且只能叫“位置參數”。所謂確定數量&#xff0c;很明顯&#xff0c;是兩個就是兩個&…

《沒有架構圖?用 netstat、ss、tcpdump 還原服務連接與數據流向》

&#x1f4e2; 你是否遇到過這些問題&#xff1f; 接手一個老項目&#xff0c;只有服務器賬號&#xff0c;沒有架構圖&#xff1f;服務突然異常&#xff0c;但不知道它依賴哪些外部系統&#xff1f;想畫數據流向圖&#xff0c;卻找不到文檔&#xff1f; 別擔心&#xff01;只要…

Redis列表(List):實現隊列/棧的利器,底層原理與實戰

Redis列表&#xff08;List&#xff09;&#xff1a;實現隊列/棧的利器&#xff0c;底層原理與實戰 1. Redis列表概述 1.1 什么是Redis列表 Redis列表&#xff08;List&#xff09;是一個有序的字符串元素集合&#xff0c;支持在頭部和尾部進行高效的插入和刪除操作。它可以…

OpenCV 圖像雙三次插值

文章目錄 一、簡介 二、實現代碼 三、實現效果 參考資料 一、簡介 在數學中,雙三次插值是三次樣條插值(一種將三次插值應用于數據集的方法)的擴展,用于在二維規則網格上插值數據點。插值曲面(指核形狀,而非圖像)比通過雙線性插值或最近鄰插值獲得的相應曲面更平滑。雙三…

【Java實戰?】Spring Security:為Spring Boot應用筑牢安全防線

目錄 一、Spring Security 概述 1.1 Spring Security 核心功能 1.2 Spring Security 與 Shiro 對比 二、Spring Boot 整合 Spring Security 基礎 2.1 整合依賴導入 2.2 默認安全配置 2.3 自定義用戶認證 2.4 自定義登錄與注銷 三、Spring Security 授權控制 3.1 基于角色的授權…

linux命令—stat

命令簡介 stat是Linux中用于查看文件或文件系統的詳細狀態信息的強大命令。它比ls -l更全面&#xff0c;其輸出信息包括但不限于&#xff1a;文件大小、權限、所有者、最后訪問/修改/狀態變更時間、inode號、所在設備信息等。 用法 stat命令的語法格式如下 stat [選項] 文件…

解決串口數據亂序問題

環境&#xff1a;jetson nano ubuntu 20.04python 3.12終于是找到解決串口亂序的最佳解決辦法了&#xff0c;先來看看什么是串口亂序&#xff1a;這就是一個典型的串口亂序&#xff0c;我的發送端發送 的協議為0x55 0x51 ...0x55 0x52 ...0x55 0x53 ...0x55 0x54 ...在這四條協…

Spring的注解

聲明Bean的注解 ?Component ?Controller ?Service ?Repository 后三種為Component的別名&#xff0c;之所以不同是因為可讀性的考慮 Target({ElementType.TYPE}) Retention(RetentionPolicy.RUNTIME) Documented Component public interface Controller {AliasFor(//別名an…