稀疏向量是人工智能、機器學習、自然語言處理(NLP)和深度學習中常見的一類向量表示。它與稠密向量相對,用來表示大部分元素為 0,僅少數維度有非零值的向量。稀疏向量適合表示離散特征、分類特征、詞袋(Bag-of-Words)和(One-Hot Encoding)。
如果說稠密向量像連續坐標,稀疏向量就像一個勾選表或開關面板,大多數維度關閉,只有少數維度被激活。稀疏向量常用于傳統機器學習特征表示、文本數據向量化、推薦系統、信息檢索等場景。
一、基本概念:什么是稀疏向量
稀疏向量(Sparse Vector)可以表示為 n 維向量:
大 多 數
特點:
? 大部分元素為 0:僅少數維度非零
? 信息離散:每個非零元素通常對應某個特定特征或事件
? 適合高維數據:避免存儲大量冗余信息
? 便于存儲和計算:可用稀疏矩陣格式(CSR、CSC)提高效率
通俗理解:
? 每個維度像一個開關
? 只有特定位置“開”,其余位置“關”
? 適合表示類別、標簽或離散事件
例如,一個詞袋模型中,句子 “貓喜歡魚” 可以用稀疏向量表示:
["貓","狗","魚","鳥","老鼠"] → [1,0,1,0,0]其中:
? 1 表示該詞出現
? 0 表示該詞未出現
二、稀疏向量的優勢
1、節省存儲空間
高維特征中大部分為 0,只存儲非零元素可以顯著降低存儲需求。
2、計算效率高
稀疏矩陣運算只處理非零元素,減少冗余計算。
3、易于特征解釋
每個非零維度對應實際特征,便于理解模型決策。
4、適合離散數據
分類特征、詞袋模型、獨熱編碼等天然產生稀疏向量。
三、稀疏向量與稠密向量對比
特性
稀疏向量
稠密向量
元素
大部分為 0
絕大多數非零
信息
離散、顯式
緊湊、連續
存儲
支持稀疏矩陣存儲
普通數組 / 矩陣
應用
詞袋模型、獨熱編碼、索引特征
詞向量、隱藏層輸出、圖像特征
通俗理解:
? 稀疏向量:開關面板,大部分開關關著
? 稠密向量:旋鈕面板,每個旋鈕都有數值
四、稀疏向量的常見應用
1、文本表示
? 詞袋模型(Bag-of-Words)
? TF-IDF 特征向量
2、獨熱編碼
? 推薦系統
? 用戶-物品評分矩陣,絕大多數未評分項為 0
3、分類與機器學習特征
? 離散類別特征
? 高維稀疏指標,例如網頁點擊、購物行為
4、信息檢索
? 文檔索引、倒排表
? 高維稀疏向量用于快速相似度搜索
五、Python 示例
下面示例展示如何在 Python 中表示和使用稀疏向量。
示例 1:
? dense_vec 是普通 numpy 數組,包含 0 和 1
? csr_matrix 是稀疏向量表示,只存儲非零元素
稀疏向量在大規模文本、推薦系統中能節省存儲和計算。
示例 2:多條句子生成稀疏矩陣
輸出示例:
(2, 1) 1小結
稀疏向量是大部分元素為 0、少數元素非零的向量表示。它適合高維、離散數據,如詞袋模型、獨熱編碼和用戶-物品矩陣。稀疏向量節省存儲、計算高效,并便于解釋特征。理解稀疏向量與稠密向量的區別,是掌握現代 AI 表示學習和特征工程的基礎。
“點贊有美意,贊賞是鼓勵”
特別聲明:以上內容(如有圖片或視頻亦包括在內)為自媒體平臺“網易號”用戶上傳并發布,本平臺僅提供信息存儲服務。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.