機器學習實操 第一部分 機器學習基礎 第8章 降維技術

機器學習實操 第一部分 機器學習基礎 第8章 降維技術

內容概要

第8章探討了降維技術,這些技術在處理高維數據時至關重要。高維數據不僅會使訓練過程變得極其緩慢,還會增加找到良好解決方案的難度,這就是所謂的維度災難問題。幸運的是,在實際問題中,通常可以通過降維技術顯著減少特征數量,將難以處理的問題轉化為可處理的問題。本章詳細介紹了降維的主要方法(投影和流形學習),并深入探討了三種流行的降維技術:PCA(主成分分析)、隨機投影和局部線性嵌入(LLE)。通過這些技術,讀者將了解如何應對維度災難,并提升模型的訓練效率和性能。
在這里插入圖片描述

主要內容

  1. 維度災難

    • 定義:高維空間中數據的行為與低維空間截然不同,導致訓練實例稀疏分布,增加過擬合風險。
    • 影響:高維數據需要指數級增長的訓練實例來保持相同的密度,這在實際中是不可行的。
  2. 降維的主要方法

    • 投影:通過將數據投影到低維子空間來減少維度。適用于數據在低維子空間中分布的情況。
    • 流形學習:通過建模數據所在的低維流形結構來減少維度。適用于數據在高維空間中形成低維流形的情況。
  3. PCA(主成分分析)

    • 原理:識別數據方差最大的方向(主成分),并將數據投影到這些方向上。
    • 步驟:計算主成分,選擇保留方差最大的方向,投影數據。
    • 應用:用于數據壓縮、可視化和預處理。
  4. 隨機投影

    • 原理:通過隨機線性投影將數據映射到低維空間,同時保持數據間的距離關系。
    • 優點:簡單、快速、內存高效,適用于高維數據。
  5. 局部線性嵌入(LLE)

    • 原理:通過保留數據局部線性關系來展開扭曲的流形結構。
    • 步驟:識別每個實例的最近鄰,構建權重矩陣,找到低維表示以保留局部關系。
    • 應用:適用于非線性數據的降維。
  6. 其他降維技術

    • MDS(多維縮放):保留實例間的距離。
    • Isomap:保留測地線距離。
    • t-SNE:用于可視化,強調相似實例的聚集。
    • LDA(線性判別分析):用于分類任務的降維。

關鍵代碼和算法

8.1 PCA降維

from sklearn.decomposition import PCA
from sklearn.datasets import load_iris# 加載數據
iris = load_iris()
X = iris.data
y = iris.target# 應用PCA降維到2維
pca = PCA(n_components=2)
X_reduced = pca.fit_transform(X)# 輸出方差解釋比例
print("Explained variance ratio:", pca.explained_variance_ratio_)# 可視化降維后的數據
import matplotlib.pyplot as plt
plt.scatter(X_reduced[:, 0], X_reduced[:, 1], c=y)
plt.xlabel('PC1')
plt.ylabel('PC2')
plt.show()

8.2 隨機投影降維

from sklearn.random_projection import GaussianRandomProjection
from sklearn.datasets import fetch_openml# 加載MNIST數據
mnist = fetch_openml('mnist_784', as_frame=False)
X_train, y_train = mnist.data[:60_000], mnist.target[:60_000]# 應用隨機投影降維
gaussian_rnd_proj = GaussianRandomProjection(eps=0.1, random_state=42)
X_reduced = gaussian_rnd_proj.fit_transform(X_train)# 輸出降維后的形狀
print("Reduced shape:", X_reduced.shape)

8.3 LLE降維

from sklearn.manifold import LocallyLinearEmbedding
from sklearn.datasets import make_swiss_roll# 生成Swiss roll數據
X_swiss, t = make_swiss_roll(n_samples=1000, noise=0.2, random_state=42)# 應用LLE降維
lle = LocallyLinearEmbedding(n_components=2, n_neighbors=10, random_state=42)
X_unrolled = lle.fit_transform(X_swiss)# 可視化降維后的數據
plt.scatter(X_unrolled[:, 0], X_unrolled[:, 1], c=t)
plt.xlabel('LLE1')
plt.ylabel('LLE2')
plt.show()

精彩語錄

  1. 中文:降維技術不僅加快了訓練速度,降低了過擬合風險,還使得數據可視化成為可能。
    英文原文:Dimensionality reduction not only speeds up training and reduces the risk of overfitting but also makes data visualization possible.
    解釋:強調了降維技術的三大優勢。

  2. 中文:PCA通過識別數據方差最大的方向來選擇主成分。
    英文原文:PCA identifies the directions of maximum variance in the data to select principal components.
    解釋:介紹了PCA的核心思想。

  3. 中文:隨機投影利用隨機線性投影來保持數據間的距離關系。
    英文原文:Random projection uses random linear projections to preserve the distance relationships between data points.
    解釋:描述了隨機投影的工作原理。

  4. 中文:LLE通過保留數據的局部線性關系來展開流形。
    英文原文:LLE preserves local linear relationships to unroll the manifold.
    解釋:介紹了LLE的基本原理。

  5. 中文:t-SNE是一種強大的可視化工具,能夠將高維數據映射到二維或三維空間。
    英文原文:t-SNE is a powerful tool for visualizing high-dimensional data by reducing it to two or three dimensions.
    解釋:指出了t-SNE的適用場景。

總結

通過本章的學習,讀者將掌握降維技術的核心概念和應用方法。這些內容包括維度災難的原理、降維的主要方法(投影和流形學習),以及PCA、隨機投影和LLE等具體技術。降維技術不僅能夠提升模型的訓練效率,還能幫助發現數據中的隱藏模式,提高模型的性能和可解釋性。這些技術在處理高維數據時尤為重要,是機器學習中的關鍵工具。

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

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

相關文章

微信小程序 XSS 防護知識整理

場景1&#xff1a;用戶輸入表單&#xff08;如評論框&#xff09; 錯誤做法&#xff1a;直接渲染未過濾的用戶輸入 // WXML <view>{{ userInput }}</view>// JS&#xff08;用戶輸入了惡意內容&#xff09; Page({data: { userInput: <script>alert("…

MySQL 服務搭建

&#x1f4a2;歡迎來到張翊塵的開源技術站 &#x1f4a5;開源如江河&#xff0c;匯聚眾志成。代碼似星辰&#xff0c;照亮行征程。開源精神長&#xff0c;傳承永不忘。攜手共前行&#xff0c;未來更輝煌&#x1f4a5; 文章目錄 在線安裝Ubuntu/Debian更新系統包索引安裝 MySQL …

【Java面試筆記:進階】23.請介紹類加載過程,什么是雙親委派模型?

Java的類加載機制是JVM的核心組成部分,其過程分為三個階段,并采用雙親委派模型來保證類加載的安全性和一致性。 1.類加載過程 1.加載階段(Loading) 核心任務:查找并加載類的二進制字節流(如.class文件)。具體行為: 將字節碼數據從不同數據源(如文件系統、網絡等)讀…

UN R79 關于車輛轉向裝置形式認證的統一規定(正文部分1)

UN R79法規是針對轉向裝置的型式認證法規&#xff0c;涉及A/B1/C類的橫向控制輔助駕駛功能&#xff0c;對各功能的功能邊界、性能要求、狀態提示、故障警示以及型式認證要提交的信息做了規范&#xff0c;本文結合百度文心一言對法規進行翻譯&#xff0c;并結合個人理解對部分內…

[隨筆] 升級uniapp舊項目的vue、pinia、vite、dcloudio依賴包等

匯總 # 升級uniapp項目dcloudio整體依賴&#xff0c;建議執行多次 # 會順帶自動更新/升級vue的版本 npx dcloudio/uvmlatest alpha# 檢查 pinia 的最新版本 npm view pinia version# 更新項目 pinia 到最新版本 npm update pinia# 更新項目 pinia 到特定的版本 # 首先&#xf…

【使用小皮面板 + WordPress 搭建本地網站教程】

&#x1f680; 使用小皮面板 WordPress 搭建本地網站教程&#xff08;快速上手&#xff09; 本教程將手把手教你如何使用 小皮面板&#xff08;XAMPP 類似工具&#xff09; 和 WordPress 搭建一個完全本地化的網站環境。適合 初學者 / 博主 / Web開發者 本地練習使用&#xf…

[更新完畢]2025五一杯A題五一杯數學建模思路代碼文章教學:支路車流量推測問題

完整內容請看文章最下面的推廣群 支路車流量推測問題 摘要 本文針對支路車流量推測問題展開研究&#xff0c;通過建立數學模型解決不同場景下的車流量分析需求。 針對問題一&#xff08;Y型道路場景&#xff09;&#xff0c;研究兩支路匯入主路的車流量推測。通過建立線性增長…

前端面試寶典---webpack原理解析,并有簡化版源碼

前言 先看一下webpack打包后的bundle.js&#xff0c;前邊的直接掃一眼就過&#xff0c;可以發現這個立即執行函數的形參就是一個&#xff0c;key為引入文件路徑&#xff0c;value為該模塊代碼的函數。 所以比較重要的就是通過webpack的配置文件中的entry的入口文件&#xff0c…

面試的各種類型

面試是用人單位選拔人才的重要環節&#xff0c;常見的面試類型有結構化面試、半結構化面試、非結構化面試和壓力面試&#xff0c;每種類型都有其特點和應對策略。 一、結構化面試 特點&#xff1a; 標準化流程 面試流程固定&#xff0c;考官會按照預先設計好的問題清單依次向…

vue3定義全局防抖指令

文章目錄 代碼參數講解 在寫項目時&#xff0c;總會有要進行防抖節流的時候&#xff0c;如果寫一個debounce函數的話 用起來代碼總會是有點長的&#xff0c;因此想到了用一個全局指令進行輸入框的防抖&#xff0c;畢竟全局指令使用時只要v-xxx就行了&#xff0c;非常方便 代碼…

WebDeveloper 流量分析、sudo提權,靶場通關WP

一、信息收集 1、主機探測 arp-scan -l netdiscover -i eth0 -r 192.168.33.0/24 nmap -sP 192.168.66.0/24 2、端口掃描 nmap -sS -sV 192.168.66.141 PORT STATE SERVICE VERSION 22/tcp open ssh OpenSSH 7.6p1 Ubuntu 4 (Ubuntu Linux; protocol 2.0) 80/tcp op…

某化工廠運維升級:智和信通運維平臺實現工業交換機智能管理

隨著某化工廠數字化轉型的加速推進&#xff0c;其生產過程對復雜網絡和IT設備的依賴程度日益加深。當前的網絡不僅承載著生產控制系統&#xff08;如DCS、PLC等&#xff09;的通信需求&#xff0c;還同時支持辦公自動化、安防監控、工業物聯網&#xff08;IoT&#xff09;等多種…

React:封裝一個編輯文章的組件

封裝一個編輯文章的組件,就要用到富文本編輯器,支持標題、內容、標簽等的編輯,并且能夠保存和取消。 首先,我需要考慮用戶的具體需求。編輯文章組件通常需要哪些功能?標題輸入、內容編輯、標簽管理、保存和取消按鈕。可能還需要自動保存草稿、驗證輸入、錯誤提示等功能。用…

數據結構與算法:圖論——并查集

先給出并查集的模板&#xff0c;還有一些leetcode算法題&#xff0c;以后遇見了相關題目再往上增加 并查集模板 整體模板C代碼如下&#xff1a; 空間復雜度&#xff1a; O(n) &#xff0c;申請一個father數組。 時間復雜度 路徑壓縮后的并查集時間復雜度在O(logn)與O(1)之間…

精品推薦-湖倉一體電商數據分析平臺實踐教程合集(視頻教程+設計文檔+完整項目代碼)

精品推薦&#xff0c;湖倉一體電商數據分析平臺實踐教程合集&#xff0c;包含視頻教程、設計文檔及完整項目代碼等資料&#xff0c;供大家學習。 1、項目背景介紹及項目架構 2、項目使用技術版本及組件搭建 3、項目數據種類與采集 4、實時業務統計指標分析一——ODS分層設計與…

Git 基本操作(一)

目錄 git add git commit git log git status git diff git 版本回退 git reset git add git add 指令為添加工作區中的文件到暫存區中。 git add file_name; //將工作區名稱為file_name的文件添加進暫存區 git add .; //將工作區中的所有文件添加進暫存區 git comm…

docker打包鏡像時提示permission denied

sudo usermod -aG docker $USER //讓當前用戶加入docker用戶組 sudo systemctl restart docker //重新啟動docker服務 newgrp docker //更新組權限 來源&#xff1a;docker命令出現permission denied的解決方法_permission denied while trying to connect…

Deepseek常用高效提問模板!

DeepSeek高效提問秘籍大放送&#xff01; 掌握這些實用提問模板&#xff0c;能讓你與DeepSeek的對話更加精準、高效&#xff01; 1. 精準闡述需求 提問時務必清晰明確地表達問題或任務。例如&#xff1a; 欠佳的提問&#xff1a;“隨便說點內容。”優化后的提問&#xff1a…

地震資料偏移成像中,多次波(多次反射波)處理

在地震資料偏移成像中&#xff0c;多次波&#xff08;多次反射波&#xff09;會降低成像質量&#xff0c;導致虛假同相軸和構造假象。處理多次波需要結合波場分離和壓制技術&#xff0c;以下是主要方法和開源算法參考&#xff1a; 1. 多次波處理的核心方法 (1) 基于波場分離的…

quickbi finebi 測評(案例講解)

quickbi & finebi 測評 國產BI中入門門檻比較低的有兩個&#xff0c;分別是quickbi和finebi。根據我的經驗通過這篇文章做一個關于這兩款BI的測評文章。 quickbi分為個人版、高級版、專業版、私有化部署四種。這篇文章以quickbi高級版為例&#xff0c;對quickbi進行分享。…