Day 22: 復習

機器學習數據處理與降維技術復習總結

前言

經過6天的學習,我們系統地學習了從基礎的Numpy數組操作到高級的降維算法,這些內容構成了機器學習數據預處理的重要知識體系。本文將對這一系列學習內容進行全面復習和總結,幫助大家建立完整的知識框架。

Day 16: Numpy數組基礎回顧

核心內容總結

Numpy作為Python科學計算的基礎庫,是我們后續學習的重要基石。通過學習,我們掌握了:

數組創建方法

  • 簡單創建:np.array(), np.zeros(), np.ones(), np.arange()
  • 隨機創建:np.random.normal(), np.random.seed()用于結果重現

數組索引技術

  • 一維數組:基礎索引、切片操作、步長切片
  • 二維數組:行列選擇、子矩陣提取
  • 三維數組:多維度操作

重要概念理解
數組和列表的區別不僅在于輸出格式(空格分隔vs逗號分隔),更重要的是數組支持向量化運算,這為后續的矩陣運算奠定了基礎。

Day 17: 聚類算法深度學習

聚類算法核心原理

聚類是無監督學習的重要分支,其目標是實現高內聚性(簇內相似)和高分離性(簇間差異)。

評估指標體系

我們學習了三個關鍵評估指標:

輪廓系數(Silhouette Score)

  • 取值范圍:[-1, 1]
  • 接近1表示聚類效果好,接近-1表示可能被錯誤分類
  • 計算公式結合了簇內凝聚度和簇間分離度

CH指數(Calinski-Harabasz Index)

  • 取值范圍:[0, +∞)
  • 值越大越好,衡量簇間分散度與簇內分散度之比

DB指數(Davies-Bouldin Index)

  • 取值范圍:[0, +∞)
  • 值越小越好,評估簇的緊湊度和分離度

三大聚類算法對比

算法類型優點缺點適用場景
K-Means基于距離簡單高效,易解釋需預設k值,對異常值敏感球形簇,大規模數據
DBSCAN基于密度自動確定簇數,處理噪聲參數敏感,高維效果差任意形狀簇,有噪聲數據
層次聚類基于層次不需預設簇數,提供層次結構計算復雜度高小規模數據,需要層次信息

Day 18: 聚類結果解釋與特征分析

簇含義推斷的兩種策略

目標驅動方法
事先明確關鍵特征進行聚類,結果具有明確的業務含義。

探索驅動方法
使用全特征聚類后,通過監督學習模型(如隨機森林)+ SHAP值分析來逆向工程出簇的特征重要性,從而為簇賦予實際含義。

SHAP值的應用價值

SHAP值不僅能夠量化特征對模型預測的貢獻,更重要的是能夠幫助我們理解聚類結果的內在邏輯,將無監督學習的結果轉化為可解釋的業務洞察。

Day 19: 特征篩選技術全覽

特征篩選的必要性

在高維數據時代,特征篩選能夠:

  • 降低計算復雜度
  • 減少過擬合風險
  • 提高模型可解釋性
  • 去除噪聲特征

六種篩選方法對比

方差篩選

  • 原理:保留方差大于閾值的特征
  • 優點:計算簡單快速
  • 缺點:不考慮與目標變量的關系

皮爾遜相關系數篩選

  • 原理:選擇與目標變量相關性高的特征
  • 適用:線性關系明顯的場景
  • 注意:分類問題需要使用f_classif

Lasso篩選

  • 原理:L1正則化自動將不重要特征系數壓縮為0
  • 優點:同時進行特征選擇和模型訓練
  • 參數:alpha值需要調優

樹模型重要性

  • 原理:基于決策樹的特征重要性
  • 優點:能捕捉非線性關系
  • 實現:使用SelectFromModel配合隨機森林

SHAP重要性

  • 原理:基于博弈論的特征貢獻度量
  • 優點:提供更可靠的特征重要性評估
  • 計算:相對耗時但結果更可信

遞歸特征消除(RFE)

  • 原理:遞歸移除最不重要的特征
  • 優點:考慮特征間的相互作用
  • 適用:需要精確控制特征數量的場景

Day 20: SVD分解的理論與實踐

SVD分解的數學基礎

任意矩陣A可分解為:A = UΣV^T

其中:

  • U:左奇異向量矩陣(正交矩陣)
  • Σ:奇異值矩陣(對角矩陣)
  • V:右奇異向量矩陣(正交矩陣)

SVD的幾何意義

SVD描述了線性變換的幾何結構:
輸入空間 → [V^T] → 標準正交基 → [Σ] → 縮放變換 → [U] → 輸出空間

重要性質與應用

數學性質

  • 任意矩陣都存在SVD分解
  • 提供最優的低秩逼近
  • 奇異值反映數據的重要程度

應用領域

  • 數據壓縮和降維
  • 推薦系統的矩陣分解
  • 圖像處理和信號降噪
  • 主成分分析的數學基礎

Day 21: 降維算法的深度對比

降維算法分類框架

無監督降維

  • 輸入:僅需要特征矩陣X
  • 目標:保留數據固有結構、最大化方差或保持流形結構
  • 代表:PCA、t-SNE、UMAP等

有監督降維

  • 輸入:特征矩陣X + 標簽y
  • 目標:最大化不同類別的可分性
  • 代表:LDA

三大降維算法深度解析

PCA(主成分分析)

  • 核心:尋找最大方差方向
  • 與SVD關系:對均值中心化數據的SVD分解
  • 適用場景:線性降維、去噪、數據壓縮
  • 限制:僅適用于線性結構

t-SNE(t-分布隨機鄰域嵌入)

  • 核心:保持高維數據的局部鄰域結構
  • 特點:非線性降維,主要用于可視化
  • 超參數:perplexity(困惑度)對結果影響很大
  • 注意:不保留全局距離信息,多次運行結果可能不同

LDA(線性判別分析)

  • 核心:最大化類間散度,最小化類內散度
  • 降維上限:min(n_features, n_classes - 1)
  • 優勢:直接優化類別可分性
  • 局限:降維維度受類別數限制

降維算法選擇指南

場景推薦算法理由
數據壓縮PCA保留主要方差,計算高效
數據可視化t-SNE/UMAP保持局部結構,揭示簇結構
分類預處理LDA直接優化類別可分性
線性關系數據PCA簡單有效,可解釋性強
非線性流形數據t-SNE/UMAP能夠捕捉復雜的非線性結構

知識體系的內在聯系

從數據基礎到高級應用的學習路徑

  1. Numpy基礎為所有后續操作提供了數據結構支持
  2. 聚類算法幫助我們理解數據的內在結構
  3. 聚類解釋將無監督結果轉化為業務洞察
  4. 特征篩選優化數據質量,提升模型效果
  5. SVD分解提供了降維的數學理論基礎
  6. 降維算法在不同場景下實現數據的有效壓縮

實踐中的協同應用

在實際項目中,這些技術往往協同使用:

  • 先用特征篩選去除噪聲特征
  • 再用降維算法壓縮數據維度
  • 然后進行聚類分析發現數據結構
  • 最后用SHAP等方法解釋結果

學習建議與實踐要點

理論與實踐并重

理論掌握

  • 理解每種算法的數學原理和適用條件
  • 掌握不同方法的優缺點和參數調優
  • 建立算法間的對比認知框架

實踐技能

  • 熟練使用sklearn等庫的相關API
  • 掌握數據預處理的完整流程
  • 學會根據具體問題選擇合適的算法

參數調優的藝術

不同算法都有關鍵參數需要調優:

  • K-Means的k值選擇
  • t-SNE的perplexity參數
  • Lasso的alpha值
  • 特征篩選的閾值設定

評估與驗證的重要性

  • 使用多種評估指標綜合判斷
  • 通過可視化驗證降維效果
  • 結合業務場景解釋結果合理性

未來學習方向

深入方向

  • 深度學習中的自編碼器降維
  • 非線性降維算法(如Isomap、LLE)
  • 大規模數據的分布式聚類
  • 時間序列數據的降維與聚類

應用拓展

  • 推薦系統中的矩陣分解技術
  • 自然語言處理中的詞向量降維
  • 計算機視覺中的特征提取
  • 生物信息學中的基因數據分析

總結

通過這6天的系統學習,我們構建了從基礎數據操作到高級降維技術的完整知識體系。這些技術不僅是機器學習的重要基礎,更是解決實際問題的有力工具。

在數據科學的實踐中,沒有萬能的算法,只有適合的方法。理解每種技術的原理、特點和適用場景,并能夠根據具體問題靈活選擇和組合使用,這正是數據科學家的核心能力。

希望通過這次復習總結,能夠幫助大家更好地掌握這些重要技術,在未來的學習和工作中游刃有余地處理各種數據挑戰。


學習是一個持續的過程,理論與實踐的結合才能真正掌握這些技術的精髓。繼續加油!

@浙大疏錦行

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

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

相關文章

力扣 hot100 Day56

46. 全排列 給定一個不含重復數字的數組 nums &#xff0c;返回其 所有可能的全排列 。你可以 按任意順序 返回答案。 //抄的 class Solution { private:vector<vector<int>>result;vector<int> path; public:void backtracking(vector<int>& nu…

Android 編碼規范全指南

在 Android 開發領域&#xff0c;代碼不僅是功能實現的載體&#xff0c;更是團隊協作與項目迭代的基礎。一套完善的編碼規范&#xff0c;能讓代碼從 “可運行” 升級為 “易維護、可擴展、低風險”。本文基于 Google、Square 等頂尖團隊的實踐經驗&#xff0c;結合國內 Android…

[RPA] Excel中的字典處理

案例1一個Excel文件總共有2個Sheet頁&#xff0c;分別為總表和對照表通過對照表sheet頁&#xff0c;設置價格對照字典對照表循環總表sheet頁&#xff0c;根據循環到的商品名稱&#xff0c;找到對應字典中的價格&#xff0c;并計算出總價總表將總價寫入到Excel表中C列&#xff0…

基于NSGAII優化算法的車間生產調度matlab仿真

目錄 1.程序功能描述 2.測試軟件版本以及運行結果展示 3.部分程序 4.算法理論概述 5.參考文獻 6.完整程序 1.程序功能描述 車間生產調度是制造業的核心環節&#xff0c;其目標是在滿足設備約束、工序優先級等條件下&#xff0c;優化多個相互沖突的生產指標&#xff08;如…

Cmake、VS2019、C++、openGLopenCV環境安裝

在 CMake 和 Visual Studio 2019 環境下安裝和配置 OpenGL、OpenCV 以及 CUDA 可能會有些復雜&#xff0c;因為涉及的組件多且相互依賴。以下是一個詳細的指南&#xff0c;幫助您逐步完成安裝和配置。 1. 前提條件 在開始之前&#xff0c;請確保您已安裝以下軟件&#xff1a; …

視頻二維碼在產品設備說明書中的應用

在當今數字化的時代&#xff0c;傳統的產品設備說明書正面臨著一場變革。文字和圖片雖然能提供基本信息&#xff0c;但在復雜設備的安裝、操作和故障排除方面&#xff0c;往往顯得力不從心。而視頻二維碼的出現&#xff0c;為這一困境提供了完美的解決方案&#xff0c;它將冰冷…

【Pytest 使用教程】

pytest 使用 test_basic.py Pytest 完全實戰手冊 一、核心概念與基礎 1、在pytest框架下運行測試用例&#xff0c;最基礎的一共有三點。導入pytest的包寫一個方法&#xff0c;或者類。后面運行的時候&#xff0c;相當于運行這個方法&#xff0c;或者類里的方法&#xff0c;無需…

基于OpenOCD 的 STM32CubeIDE 開發燒錄調試環境搭建 DAPLINK/STLINK

需要部署一個開發環境,實現h7的板子通過daplink功能給目標板燒寫程序(同事要將這個過程用fpga實現),需要通過openocd+gdb+daplink stm32; 總結:單條命令執行太麻煩,參考4寫成腳本文件: 獨立腳本使用Openocd ? 在**“在Stm32CubeIDE環境下使用DAP-Link仿真”**一文中…

嵌入式硬件篇---zigbee無線串口通信問題

使用 ZigBee 進行無線串口通信時&#xff0c;接收異常&#xff08;如丟包、亂碼、完全無法接收&#xff09;是常見問題&#xff0c;其原因涉及射頻通信特性、網絡機制、硬件配置、環境干擾等多個層面。以下從具體機制出發&#xff0c;詳細分析可能的原因&#xff1a;一、射頻層…

【AI周報】2025年7月26日

【AI周報】2025年7月第四周觀察&#xff1a;GitHub Spark重塑開發范式&#xff0c;中美AI政策對壘升級 省流版靜態頁面周報&#xff0c;為方便各位看官快速食用&#xff0c;我準備了摘要版周報&#xff0c;歡迎訪問&#xff1a;20250726周報 引言&#xff1a;本周焦點速覽 2…

HTML:從 “小白” 到 “標簽俠” 的修煉手冊

目錄 一、HTML&#xff1a;網頁的 “骨架” 不是骷髏架 二、文本標簽&#xff1a;文字的 “華麗變身” 術 1. 標題標簽&#xff1a;文字界的 “領導班子” 2. 段落標簽&#xff1a;文字的 “專屬保姆” 3. 文本格式化標簽&#xff1a;給文字 “穿花衣” 三、鏈接標簽&…

python3GUI--基于YOLO的火焰與煙霧檢測系統By:PyQt5(詳細圖文介紹)

文章目錄一&#xff0e;前言1.引言2.正文二&#xff0e;核心內容1.數據集2.模型訓練3.界面窗口1.登錄注冊界面2.核心功能界面3.檢測告警提示窗口三&#xff0e;.核心界面模塊介紹1.頂部信息區域2.數據輸入3.參數配置4.告警設置5.操作臺6.關于7.指標變化8.異常速覽9.日志輸出10.…

基于Transform、ARIMA、LSTM、Prophet的藥品銷量預測分析

文章目錄有需要本項目的代碼或文檔以及全部資源&#xff0c;或者部署調試可以私信博主一、項目背景二、數據準備與預處理三、模型選擇與方法設計1. ARIMA 模型&#xff1a;傳統統計方法的基線構建2. LSTM 模型&#xff1a;引入記憶機制的深度學習方法3. Transformer 模型&#…

LLM隱藏層與logits數值的簡單理解

LLM的“隱藏層數值”和“logits數值” 代表什么,范圍是多少 “隱藏層數值”和“logits數值”是兩個關鍵概念——它們分別對應模型“理解信息”和“輸出決策”的核心環節。 一、先明確基礎:LLM的“思考”流程 LLM本質是“輸入文本→處理信息→輸出結果”的神經網絡。簡單說…

Vue》》@ 用法

使用 別名導入 // 導入 src/components/Button.vue import Button from /components/Button.vue// 導入 src/utils/helper.js import { helperFunc } from /utils/helper// 導入 src/store/index.js import store from /store

20250726-1-Kubernetes 網絡-Service存在的意義_筆記

一、Service控制器 1. Service存在的意義 1)基本場景 ?? 動態IP問題:Pod IP具有短暫性,銷毀重建后IP會變化(示例:原IP 169.130重建后變為169.132) 服務發現需求:需要穩定入口訪問同一服務的多個Pod,避免因Pod變動導致服務中斷 負載均衡需求:多個Pod副本需要統一訪…

在一個存在的包里面編寫msg消息文件

前言盡管最佳實踐是在專門的接口包中聲明接口&#xff0c;但有時在同一個包中完成接口的聲明、創建和使用會更為便捷。創建文件創建好msg/AddressBook.msg文件&#xff0c;在你的包的目錄下package.xml<buildtool_depend>rosidl_default_generators</buildtool_depend…

華為服務器操作系統openEuler介紹與安裝

一、openEuler概述 1.1、openEuler介紹 openEuler&#xff08;簡稱 “歐拉”&#xff09;是華為開源的服務器操作系統&#xff0c;是基于Linux穩定系統內核的、面向企業級的通用服務器架構平臺。能夠滿足客戶從傳統IT基礎設施到云計算服務的需求&#xff0c;打造了完善的從芯…

CUDA雜記--FP16與FP32用途

FP16&#xff08;半精度浮點數&#xff09;和FP32&#xff08;單精度浮點數&#xff09;是計算機中用于表示浮點數的兩種常見格式&#xff0c;它們在存儲空間、數值范圍、精度、計算效率等方面有顯著區別。以下從核心差異、適用場景等方面詳細說明&#xff1a; 一、核心差異&am…

Android開發中技術選型的落地方案

技術選型不是簡單地“哪個庫最火就用哪個”&#xff0c;而是一個需要綜合考慮業務、團隊、技術、維護、未來等多維度因素的系統工程。 核心目標&#xff1a; 選擇最適合當前及可預見未來項目需求的技術棧&#xff0c;確保應用高質量、高效率、可維護、可擴展、安全穩定地開發和…