機器學習的不少領域中存在不少稀疏矩陣,好比用來表示分類數據的獨熱編碼、用於表示文檔中詞彙頻率的計數編碼、用於表示詞彙中標準化的單詞頻率得分的TF-IDF編碼。機器學習
稀疏矩陣:在矩陣中,若數值中爲0的元素數目遠遠多於非0元素的數目,而且非0元素分佈沒有規律。學習
稠密矩陣:在矩陣中,若數值中爲0的元素數目遠遠少於非0元素的數目。編碼
$$矩陣的稠密度=\frac{非零元素的總數}{矩陣全部元素的總數}$$spa
大多數大型矩陣都是稀疏的,稀疏矩陣有不少的零值,矩陣中的每一個32位或64位零值都要分配零值,須要大量的內存,這是對內存資源的浪費,由於這些零值不包含任何信息。內存
若是一個很是大的稀疏矩陣能夠適應內存,因爲矩陣分鐘包含大部分的零值,那麼在這個矩陣中執行操做可能須要很長時間,其中大部分計算都須要將零值相加或相乘。資源
稀疏矩陣的計算速度更快,由於程序代碼只對非零元素進行操做,這是稀疏矩陣的一個突出的優勢。文檔
稀疏矩陣存儲空間大部分存放的是 0 元素,從而形成大量的空間浪費。爲了節省存儲空間,能夠只存儲其中的非 0 元素。get
參考it
知乎:一篇關於機器學習中的稀疏矩陣的介紹class