W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
該子模塊包含近似于與某些內(nèi)核對應的特征映射的函數(shù),例如在支持向量機中使用它們(請參閱Support Vector Machines)。以下功能函數(shù)執(zhí)行輸入的非線性轉(zhuǎn)換,可以用作線性分類或其他算法的基礎。
與使用隱式特征圖的內(nèi)核技巧相比,使用近似顯式特征圖的優(yōu)勢在于顯式映射更適合在線學習,并且可以極大地減少超大型數(shù)據(jù)集的學習成本。標準的內(nèi)核化SVM不能很好地適應大型數(shù)據(jù)集,但是使用近似的內(nèi)核圖,可以使用效率更高的線性SVM。特別是,內(nèi)核映射近似與 SGDClassifier
的組合使用,使在大型數(shù)據(jù)集上進行非線性學習成為可能。
由于沒有太多使用近似嵌入工作的經(jīng)驗,因此建議盡可能將結果與精確內(nèi)核方法進行比較。
另請參閱: 多項式回歸:使用基本函數(shù)擴展線性模型以進行精確的多項式轉(zhuǎn)換。
Nystroem
中實現(xiàn)的Nystroem方法是用于內(nèi)核的低秩近似的通用方法。它實質(zhì)上通過對評估內(nèi)核的數(shù)據(jù)進行二次采樣來實現(xiàn)。默認情況下Nystroem
使用rbf
內(nèi)核,但是它可以使用任何內(nèi)核函數(shù)或預先計算的內(nèi)核矩陣。n_components
參數(shù)給出了所用的樣本數(shù)-也是計算的特征的維數(shù)。
RBFSampler
為徑向基函數(shù)核構造一個近似映射,也稱為Random Kitchen Sinks [RR2007]。在應用線性算法(例如線性SVM)之前,此轉(zhuǎn)換可用于顯式建模內(nèi)核映射:
>>> from sklearn.kernel_approximation import RBFSampler
>>> from sklearn.linear_model import SGDClassifier
>>> X = [[0, 0], [1, 1], [1, 0], [0, 1]]
>>> y = [0, 0, 1, 1]
>>> rbf_feature = RBFSampler(gamma=1, random_state=1)
>>> X_features = rbf_feature.fit_transform(X)
>>> clf = SGDClassifier(max_iter=5)
>>> clf.fit(X_features, y)
SGDClassifier(max_iter=5)
>>> clf.score(X_features, y)
1.0
這個映射依賴于對內(nèi)核值的蒙特卡洛近似。該fit
函數(shù)執(zhí)行蒙特卡洛采樣,而該transform
方法執(zhí)行數(shù)據(jù)映射。由于過程固有的隨機性,結果在fit
函數(shù)的不同調(diào)用之間可能會有所不同。
fit
函數(shù)有兩個參數(shù): n_components
,是特征變換的目標維數(shù);以及gamma
,是RBF內(nèi)核的參數(shù)。n_components
越高,得到越好的內(nèi)核近似,并將產(chǎn)生與內(nèi)核SVM更相似的結果。請注意,“擬合”特征函數(shù)實際上并不取決于賦予fit
函數(shù)的數(shù)據(jù),僅使用數(shù)據(jù)的維數(shù)。有關該方法的詳細信息,請參見[RR2007]。
對于n_components
的給定值,RBFSampler
通常不如Nystroem
準確。不過,RBFSampler
這種方法的計算成本較低,因此在較大的特征空間上更有效。
?將精確的RBF內(nèi)核(左)與近似值(右)進行比較
例子:
加性卡方核是直方圖上的核,通常在計算機視覺中使用。
此處使用的加性卡方核為
這與sklearn.metrics.additive_chi2_kernel
并不完全相同。[VZ2010]的作者更喜歡上面的版本,因為它始終是肯定的。由于內(nèi)核是可添加的,因此可以將所有成分 分別處理進行嵌入。這使得有可能以規(guī)則的間隔對傅立葉變換進行采樣,而不是使用蒙特卡洛采樣進行近似。
AdditiveChi2Sampler
類實施此組件合理的確定性采樣。每個組件都采樣 次,每個輸入維數(shù)生成 個維數(shù)(兩個傅立葉變換的實數(shù)和復數(shù)部分的倍數(shù))。在文獻中,通常將選擇為1或2,將數(shù)據(jù)集轉(zhuǎn)換為大小n_samples * 5 * n_features
(在的情況下)。
AdditiveChi2Sampler
所提供的近似特征映射可與RBFSampler
所提供的近似的特征映射相結合以產(chǎn)生一個近似特征映射的求冪的卡方內(nèi)核。有關詳細信息請參閱[VZ2010]和[VVZ2010]中的RBFSampler
部分。
偏斜卡方核由以下公式給出:
它具有與計算機視覺中經(jīng)常使用的指數(shù)卡方核相似的屬性,但允許對特征映射進行簡單的蒙特卡洛近似。
SkewedChi2Sampler
的用法與上述RBFSampler
的用法相同。唯一的區(qū)別在于free參數(shù),稱之為c。有關此映射的理念和數(shù)學細節(jié),請參見[LS2010]。
支持向量機或內(nèi)核化的PCA之類的內(nèi)核方法依賴于再現(xiàn)內(nèi)核Hilbert空間的屬性。對于任何正定核函數(shù)(即所謂的Mercer內(nèi)核),可以確保存在映射進入希爾伯特空間 ,如下
其中 ??,?? 表示希爾伯特空間中的內(nèi)積。
如果一個算法(例如線性支持向量機或PCA)僅依賴于數(shù)據(jù)點的標量積,則可以使用的值,這對應于將算法應用于映射的數(shù)據(jù)點 。使用 的優(yōu)勢在于無需顯式計算映射 ,從而允許任意大特征(甚至無限大)。
內(nèi)核方法的一個缺點是,在優(yōu)化過程中可能有必要存儲許多內(nèi)核值。如果將內(nèi)核分類器應用于新數(shù)據(jù),則需要進行計算 以做出預測,可能是針對訓練集中許多不同的 。
該子模塊中的類允許近似嵌入,從而與 一起顯式生效,從而無需應用內(nèi)核或存儲訓練示例。
參考文獻:
“Random features for large-scale kernel machines” Rahimi, A. and Recht, B. - Advances in neural information processing 2007,
“Random Fourier approximations for skewed multiplicative histogram kernels” Random Fourier approximations for skewed multiplicative histogram kernels - Lecture Notes for Computer Sciencd (DAGM)
“Efficient additive kernels via explicit feature maps” Vedaldi, A. and Zisserman, A. - Computer Vision and Pattern Recognition 2010
“Generalized RBF feature maps for Efficient Detection” Vempati, S. and Vedaldi, A. and Zisserman, A. and Jawahar, CV - 2010
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: