क्या "आयामीता का अभिशाप" वास्तव में वास्तविक डेटा में मौजूद है?


17

मैं समझता हूं कि "आयामीता का अभिशाप" क्या है, और मैंने कुछ उच्च आयामी अनुकूलन समस्याओं को किया है और घातीय संभावनाओं की चुनौती को जाना है।

हालांकि, मुझे संदेह है कि "आयामीता का अभिशाप" सबसे वास्तविक दुनिया डेटा में मौजूद है (अच्छी तरह से छवियों या वीडियो को एक पल के लिए अलग रख दें, मैं ग्राहक जनसांख्यिकीय और खरीद व्यवहार डेटा जैसे डेटा के बारे में सोच रहा हूं)।

हम हजारों विशेषताओं के साथ डेटा एकत्र कर सकते हैं, लेकिन यह असंभव भी नहीं है कि सुविधाएँ पूरी तरह से हजारों आयामों के साथ अंतरिक्ष में फैल सकती हैं। यही कारण है कि आयाम में कमी तकनीक इतनी लोकप्रिय हैं।

दूसरे शब्दों में, यह बहुत संभावना है कि डेटा में सूचना का घातीय स्तर नहीं होता है, अर्थात, कई विशेषताएं अत्यधिक सहसंबद्ध हैं और कई विशेषताएं 80-20 नियमों को संतुष्ट करती हैं (कई उदाहरणों में समान मूल्य हैं)।

ऐसे में, मुझे लगता है कि केएनएन जैसे तरीके अभी भी यथोचित रूप से काम करेंगे। (अधिकांश पुस्तकों में "आयाम का अभिशाप" आयाम कहता है> 10 समस्याग्रस्त हो सकता है। अपने डेमो में वे सभी आयामों में समान वितरण का उपयोग करते हैं, जहां एंट्रोपी वास्तव में उच्च है। मुझे वास्तविक दुनिया में यह कभी भी संदेह होगा।)

वास्तविक डेटा के साथ मेरा व्यक्तिगत अनुभव यह है कि "आयाम का अभिशाप" टेम्पलेट पद्धति (जैसे KNN) को बहुत अधिक प्रभावित नहीं करता है और ज्यादातर मामलों में, आयाम ~ 100 अभी भी काम करेंगे।

क्या यह अन्य लोगों के लिए सच है? (मैंने 5 वर्षों के लिए विभिन्न उद्योगों में वास्तविक डेटा के साथ काम किया, कभी भी "सभी दूरी के जोड़े में समान मूल्य नहीं हैं" जैसा कि पुस्तक में वर्णित है।


1
चूंकि आपने विशेष रूप से छवियों और छवि विश्लेषण को बाहर रखा है, इसलिए मैं यह कहकर टिप्पणियों में एक प्लग लगाऊंगा कि यह क्षेत्र आयामी के अभिशाप से बहुत नियमित रूप से निपटता है। ओवरफिट समाधान प्राप्त करना बहुत आसान है।
आशी

7
बाइनरी / डमी / एक-हॉट एन्कोडेड श्रेणीबद्ध विशेषताएं आसानी से दूरी-आधारित मॉडल को उड़ा सकती हैं
छायाकार

2
मेरे एक सहकर्मी ने धूप के चश्मे की बिक्री के साथ काम किया है। बहुत सी सुविधाएँ संभव स्तरों (जैसे, ब्रांड, चश्मे के विभिन्न भागों की सामग्री आदि) की बड़ी संख्या के साथ श्रेणीबद्ध थीं। मैं निश्चित रूप से सीओडी से डरता था, लेकिन यह कहना हमेशा कठिन होता है कि यह किसी विशेष डेटासेट में मौजूद है या नहीं, साथ ही हम काफी मानक चालें भी नहीं करते थे, इस विशेष विश्लेषण प्रकार के विशेषज्ञ नहीं थे।
एस। कोलासा -

@StephanKolassa तो, क्या सूर्य ग्लास के उपयोग के मामले में दूरी आधारित तरीकों ने काम किया है?
हैताओ डू

अधिक अच्छी तरह से नहीं। यह बहुत सफल प्रोजेक्ट नहीं था।
एस। कोलासा -

जवाबों:


15

यह पत्र (1) गैर-एकरूपता के आशीर्वाद पर चर्चा करता है, जो कि आयामीता के अभिशाप के प्रति प्रतिकार के रूप में है। मुख्य विचार यह है कि फीचर स्पेस में डेटा समान रूप से फैलाया नहीं जाता है, इसलिए डेटा को व्यवस्थित करने के तरीकों की पहचान करके कर्षण प्राप्त कर सकते हैं।

(1) पेड्रो डोमिंगोस, "मशीन सीखने के बारे में कुछ उपयोगी बातें जानने के लिए"


7

मशीन लर्निंग में आयामीता का अभिशाप अधिक बार आपके पास मौजूद कुछ डेटा बिंदुओं के बीच खाली जगह में विस्फोट की समस्या है। कम कई गुना डेटा इसे और भी बदतर बना सकता है। यहां 10000 नमूनों के साथ एक उदाहरण सेटअप है जहां मैं 1 पड़ोसी के साथ केएनएन करने की कोशिश करता हूं।

from numpy.random import normal
from sklearn.neighbors import KNeighborsClassifier
from sklearn.metrics import precision_score
import matplotlib.pyplot as plt
import numpy as np
from math import sqrt
from scipy.special import gamma

N=10000
N_broad=2
scale=20

dims=[]
precs=[]


def avg_distance(k):
    return sqrt(2)*gamma((k+1)/2)/gamma(k/2)

for dim in range(N_broad+1,30):
    clf = KNeighborsClassifier(1, n_jobs=-1)

    X_train=np.hstack([normal(size=(N,N_broad)), normal(size=(N,dim-N_broad))/avg_distance(dim-N_broad)/scale])
    y_train=(X_train[:,N_broad]>0).astype(int)
    clf.fit(X_train, y_train)

    X_test=np.hstack([normal(size=(N,N_broad)), normal(size=(N,dim-N_broad))/avg_distance(dim-N_broad)/scale])
    y_test=(X_test[:,N_broad]>0).astype(int)
    y_test_pred=clf.predict(X_test)

    prec=precision_score(y_test, y_test_pred)
    dims.append(dim)
    precs.append(prec)
    print(dim, prec)

plt.plot(dims, precs)
plt.ylim([0.5,1])
plt.xlabel("Dimension")
plt.ylabel("Precision")
plt.title("kNN(1) on {} samples".format(N))
plt.show()

आप पूरी तरह से समान वितरण पसंद नहीं करते हैं, इसलिए मैंने इसे scaleपहले दो निर्देशांक के 2 डी विमान के चारों ओर छिड़काकर छोटे आयामों (कम करके ) के साथ 2 डी बनाया है । जैसा कि होता है, छोटे आयामों में से एक भविष्य कहनेवाला होता है (लेबल 1 तब होता है जब वह आयाम सकारात्मक होता है)।

सटीक बढ़ते आयाम के साथ तेजी से गिरता है।kNN परिशुद्धता

बेशक, परिशुद्धता = 0.5 यादृच्छिक अनुमान लगाना होगा। एक निर्णय सतह के साथ, जो एक विमान की तुलना में अधिक जटिल है, यह और भी खराब हो जाएगा।

ऐसा लगता है कि केएनएन के गोले बहुत अधिक विरल होते हैं जो एक चिकने हाइपरप्लेन की जांच करने में सहायक होते हैं। उच्च आयामों के साथ वे अधिक अकेला महसूस करते हैं।

दूसरी ओर, एसवीएम जैसे तरीकों का एक वैश्विक दृष्टिकोण है और बहुत बेहतर है।


5

उदाहरण समय श्रृंखला (और चित्र और ऑडियो) के लिए विचार करें । सेंसर रीडिंग (इंटरनेट ऑफ थिंग्स) बहुत आम हैं।

आयामीता का अभिशाप आपके विचार से बहुत अधिक सामान्य है। वहाँ एक बड़ी अतिरेक है, लेकिन बहुत अधिक शोर भी है।

समस्या यह है कि बहुत से लोग केवल वास्तविक डेटा की इन चुनौतियों से बचते हैं, और केवल बार-बार उसी चेरीपेड यूसीआई डेटा सेट का उपयोग करते हैं।


पी(एक्स)=पी(एक्स1)Πn=2एनपी(एक्सn|एक्सn-1)

1
हो सकता है कि सबसे असली दुनिया डेटा है चित्र, वीडियो, और समय श्रृंखला की तरह सेंसर से?
QUIT -

2
@ hxd1011 मार्कोव संपत्ति एक अमूर्त है जिसका वास्तविक डेटा से कोई लेना-देना नहीं है!
साइकोरैक्स का कहना है कि मोनिका

0

एक अद्भुत लेख है, "सांख्यिकीय मॉडलिंग: दो संस्कृतियों" , ब्रेमेन द्वारा। वह वैज्ञानिकों के दो समूहों की व्याख्या करता है जो डेटा से निपटते हैं और उनमें से प्रत्येक "आयामीता" को कैसे देखते हैं। आपके प्रश्न का उत्तर "यह निर्भर करता है" कि आप किस समूह में हैं। पेपर की जांच करें।


धन्यवाद @Zamir Akimbekov, यहाँ बड़ी चर्चाएँ हैं , और एक और दिलचस्प पेपर यहाँ है
हेतो दू
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.