什麼是稀疏特徵(Sparse Features)?
要回答什麼是sparse feature,可能首先要理解什麼是feature。
一般在machine learning意義上,我們常說的feature,是一種對數據的表達。當然,要衡量一種feature是否是合適的表達,要根據數據,應用,ML的模型,方法....很多方面來看。一般來說,Feature應該是informative(富有信息量),discriminative(有區分性)和independent(獨立)的。
那麼具體怎麼選擇feature,其實一直是一個開放的問題。在機器學習裡面,feature的選擇是至關重要的:對於同一種學習的模型,同樣的學習方法,同樣的數據,選擇不同的feature來表達,可能會產生完全不同的效果。Feature有很多種特性和分類:Feature可以是Linear(線性),也可以是Non-linear(非線性)的;Feature可以是Fixed(固頂的),也可以是Adaptive(適應性的)....甚至feature都可以不是numerical的,但因為題主問的是sparse feature,所以我就在這裡特指numerical的feature。
如果把我們的每一個數據點,想像成一個vector(向量),記作y,對應的feature則可以用另外一個vector來表示,記作x。
那麼關於稀疏特性的feature(sparse feature),其實 @曾博同學已經說得一針見血了....就是x這個向量裡面有很多index都是0....而非零的index遠小於x的維度(x向量的長度)。
如果你的問題只是how to define Sparse Feature, 那麼that"s it....沒了,就是零比較多而已...如果你想知道為什麼sparse feature在某些應用裡面表現很好,可以參考:為什麼sparse representation比起其它成分分析方法(DFT,Wavelet)能得到更好的效果? - Bihan Wen 的回答如果你想知道sparse的意義何在,可以參考:
稀疏表達的意義在於?為什麼稀疏表達得到廣泛的應用? - Bihan Wen 的回答為啥我只cite我自己的回答?因為我懶...沒去搜別人的....feature index is much larger than the actual number of non zero features.
我來舉個具體的例子吧 ! 我們將每個樣本表示成一個10000維的向量 ,
下面是某個樣本的向量表示:
0 123:0.122519644924 2097:0.0707110935549
0代表類別標籤 , 123和2097就是feature index , 後面的數就是特徵表達也就是說這個向量在123和2097維上有數據其餘都是0
假如每個維度上都有值 , 本來是在10000個維度上來表達這個樣本, 而現在只有兩個維度上有效地表達了這個樣本, 你說, 特徵是不是超級稀疏啊
這裡結合」稀疏「與」特徵「兩個關鍵詞來理解即可。
所謂」特徵「,就是對」對象「的一種數據表達。比如,我們要衡量一個人,可以有諸如此類的特徵:」性別=男「,"年齡=22",」身高=175cm「等等,藉助於對象本身的features,機器學習通常希望學習某一個model,綜合features,做到對某些標記的預測,比如」體重=?kg「;
所謂」稀疏「,是很常見的一個詞,比如稀疏矩陣,稀疏編碼。這裡直白點講,就是非零值很少。就如對於矩陣而言,稀疏矩陣,就是大部分數據都為0,少部分不為0,稀疏正是指」非0數據很少。
那麼」稀疏特徵「,如果用矩陣的形式表達,得到的就是稀疏矩陣。「稀疏特徵」在大多數的特徵上其值為0,只有少部分的特徵非0。請問,對於分類問題,對提取的圖像特徵採用稀疏編碼的方法,首先得到稀疏字典,然後得到稀疏係數矩陣,那麼接下來,如何使用這些稀疏稀疏矩陣進行分類呢??
那請問什麼是稀疏反演呢
推薦閱讀:
※如何評價MSRA的新paper:Deep Image Analogy?
※需要一個「隨機梯度下降」的詳細教程?
※RNN神經網路訓練過程中weight幾乎不更新,只有bias更新?
※如何評價《Tensorflow實戰》和《Tensorflow:實戰Google深度學習框架》這兩本書?
※Udacity 深度學習的作業有人真運行過嗎?
TAG:機器學習 | 深度學習DeepLearning |