什麼是稀疏特徵(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 |