क्या क्लस्टरिंग से पहले अपने डेटा को मानकीकृत करना आवश्यक है?


23

क्या क्लस्टर से पहले अपने डेटा को मानकीकृत करना आवश्यक है? scikit learnDBSCAN के बारे में उदाहरण में, यहाँ वे इस पंक्ति में करते हैं:

X = StandardScaler().fit_transform(X)

लेकिन मुझे समझ नहीं आता कि यह क्यों जरूरी है। आखिरकार, क्लस्टरिंग डेटा के किसी विशेष वितरण को ग्रहण नहीं करता है - यह एक अप्रशिक्षित सीखने की विधि है इसलिए इसका उद्देश्य डेटा का पता लगाना है।

डेटा को बदलना क्यों आवश्यक होगा?


विस्तृत प्रतिक्रियाओं के लिए धन्यवाद! आपके सभी उत्तरों के अनुवर्ती के रूप में: मैं समझता हूं कि यदि सुविधाएँ विभिन्न पैमानों पर हैं, तो यह एक समस्या पेश कर सकता है। हालाँकि, यदि दूरी मीट्रिक को प्रसरण के लिए सामान्यीकृत किया जाता है, तो क्या यह क्लस्टरिंग से पहले मानक स्केलिंग के समान परिणाम प्राप्त करता है? यानी मैं आमतौर पर एक सामान्यीकृत यूक्लिडियन दूरी से संबंधित का उपयोग करता हूं - क्या यह स्केलिंग प्रभाव को कम करता है?
कैंडिक 3

जवाबों:


19

सामान्यीकरण की हमेशा आवश्यकता नहीं होती है, लेकिन यह शायद ही कभी दर्द होता है।

कुछ उदाहरण:

K- साधन :

K- साधन क्लस्टरिंग अंतरिक्ष की सभी दिशाओं में "आइसोट्रोपिक" है और इसलिए अधिक या कम गोल (लम्बी के बजाय) समूहों का उत्पादन करता है। इस स्थिति में भिन्नताओं को असमान छोड़ना छोटे चर वाले चर पर अधिक भार डालने के बराबर है।

मतलाब में उदाहरण:

X = [randn(100,2)+ones(100,2);...
     randn(100,2)-ones(100,2)];

% Introduce denormalization
% X(:, 2) = X(:, 2) * 1000 + 500;

opts = statset('Display','final');

[idx,ctrs] = kmeans(X,2,...
                    'Distance','city',...
                    'Replicates',5,...
                    'Options',opts);

plot(X(idx==1,1),X(idx==1,2),'r.','MarkerSize',12)
hold on
plot(X(idx==2,1),X(idx==2,2),'b.','MarkerSize',12)
plot(ctrs(:,1),ctrs(:,2),'kx',...
     'MarkerSize',12,'LineWidth',2)
plot(ctrs(:,1),ctrs(:,2),'ko',...
     'MarkerSize',12,'LineWidth',2)
legend('Cluster 1','Cluster 2','Centroids',...
       'Location','NW')
title('K-means with normalization')

यहाँ छवि विवरण दर्ज करें

यहाँ छवि विवरण दर्ज करें

(FYI: मैं अगर मेरे डाटासेट क्लस्टर है या unclustered (यानी एक ही क्लस्टर के गठन कैसे पता लगा सकते हैं )

वितरित क्लस्टरिंग :

तुलनात्मक विश्लेषण से पता चलता है कि वितरित क्लस्टरिंग परिणाम सामान्यीकरण प्रक्रिया के प्रकार पर निर्भर करते हैं।

कृत्रिम तंत्रिका नेटवर्क (इनपुट) :

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

कृत्रिम तंत्रिका नेटवर्क (इनपुट / आउटपुट)

क्या आपको अपने डेटा में इनमें से कुछ भी करना चाहिए? उत्तर है, यह निर्भर करता है।

या तो इनपुट या लक्ष्य चर का मानकीकरण संख्यात्मक स्थिति में सुधार करके प्रशिक्षण प्रक्रिया को बेहतर बनाने के लिए जाता है (देखें ftp://ftp.sas.com/pub/neural/illcond/illcond.html करना अनुकूलन समस्या ) को करना सुनिश्चित करता है और यह सुनिश्चित करता है कि विभिन्न डिफ़ॉल्ट प्रारंभ और समाप्ति में शामिल मूल्य उपयुक्त हैं। लक्ष्यीकरण मानकीकरण भी उद्देश्य समारोह को प्रभावित कर सकता है।

मामलों के मानकीकरण को सावधानी के साथ संपर्क किया जाना चाहिए क्योंकि यह जानकारी का खुलासा करता है। यदि वह जानकारी अप्रासंगिक है, तो मानकीकरण मामले काफी मददगार हो सकते हैं। यदि वह जानकारी महत्वपूर्ण है, तो मानकीकरण के मामले विनाशकारी हो सकते हैं।


दिलचस्प है, माप इकाइयों को बदलने से एक बहुत अलग क्लस्टरिंग संरचना देखने के लिए नेतृत्व किया जा सकता है: कॉफ़मैन, लियोनार्ड, और पीटर जे। राउसीवु .. "डेटा में समूह ढूँढना: क्लस्टर विश्लेषण का परिचय।" (2005)।

कुछ अनुप्रयोगों में, माप इकाइयों को बदलने से एक बहुत अलग क्लस्टरिंग संरचना देखने के लिए भी नेतृत्व किया जा सकता है। उदाहरण के लिए, चार काल्पनिक लोगों की आयु (वर्षों में) और ऊंचाई (सेंटीमीटर में) तालिका 3 में दी गई है और चित्र 3 में प्लॉट किया गया है। ऐसा प्रतीत होता है कि {A, B) और {C, 0] दो अच्छी तरह से अलग किए गए क्लस्टर हैं । दूसरी ओर, जब ऊँचाई को पैरों में व्यक्त किया जाता है तो तालिका 4 और चित्र 4 प्राप्त होता है, जहाँ स्पष्ट समूह अब {A, C} और {B, D} हैं। यह विभाजन पहले से पूरी तरह से अलग है क्योंकि प्रत्येक विषय को एक और साथी मिला है। (चित्र 4 को और भी अधिक चपटा किया गया होता यदि आयु दिनों में मापी गई होती।)

माप इकाइयों की पसंद पर इस निर्भरता से बचने के लिए, किसी के पास डेटा को मानकीकृत करने का विकल्प होता है। यह मूल माप को इकाई रहित चर में परिवर्तित करता है।

यहाँ छवि विवरण दर्ज करें यहाँ छवि विवरण दर्ज करें

कॉफमैन एट अल। कुछ दिलचस्प विचारों के साथ जारी है (पृष्ठ 11):

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


1
यह उत्तर अभूतपूर्व है
कैंडिक 3

6

डेटा का मानकीकरण करने की अनुशंसा की जाती है क्योंकि अन्यथा प्रत्येक सुविधा में मानों की श्रेणी क्लस्टर डेटा का निर्धारण करते समय एक भार के रूप में कार्य करेगी, जो आमतौर पर अनदेखा है।

उदाहरण के लिए, अधिकांश क्लस्टरिंग एल्गोरिदम के लिए मानक मीट्रिक पर विचार करें (विज्ञान-किट में डीबीएससीएन सहित) सीखें - euclidean, अन्यथा एल 2 मानक के रूप में जाना जाता है। यदि आपकी किसी विशेषता में अन्य की तुलना में बहुत अधिक मान हैं, तो उस एक सुविधा पर क्लस्टरिंग पूरी तरह से हावी हो जाएगी। इस उदाहरण को समझने के लिए नीचे दिए गए सरल उदाहरण को देखें:

>>> import numpy as np
>>> from sklearn.preprocessing import StandardScaler
>>> from sklearn.metrics.pairwise import euclidean_distances
>>> 
>>> X = np.array([[1,2,100],[4,3,50],[1,1,75]])
>>> 
>>> print X
[[  1   2 100]
 [  4   3  50]
 [  1   1  75]]
>>> 
>>> print euclidean_distances(X)
[[  0.          50.0999002   25.01999201]
 [ 50.0999002    0.          25.25866188]
 [ 25.01999201  25.25866188   0.        ]]
>>> print euclidean_distances(StandardScaler().fit_transform(X))
[[ 0.          3.46410162  1.73205081]
 [ 3.46410162  0.          3.46410162]
 [ 1.73205081  3.46410162  0.        ]]

इससे आपको यह देखना चाहिए कि गैर-मानकीकृत संस्करणों के बीच यूक्लिडियन दूरी तीसरे कॉलम पर हावी है क्योंकि इसका मान अन्य दो की तुलना में बहुत बड़ा है। हालाँकि जब डेटा को मानकीकृत किया जाता है तो यह एक मुद्दा नहीं बन जाता है और प्रत्येक डेटा बिंदु के बीच की दूरी की गणना करते समय प्रत्येक विशेषता को समान होने का संकेत देता है।


1

यह मानकीकृत करने के लिए कड़ाई से आवश्यक नहीं है, चाहे वह आवश्यक हो या नहीं आपके द्वारा चुनी गई दूरी मीट्रिक पर निर्भर हो सकती है।

उदाहरण के लिए यदि आप महालनोबिस दूरी का विकल्प चुनते हैं, तो अलगाव मानक विचलन की संख्या के आधार पर अलग-अलग बिंदुओं पर आधारित होगा, न कि उनके बीच की पूर्ण दूरी के रूप में, क्योंकि यह एक पैमाना अपरिवर्तनीय मीट्रिक है।

मशीन सीखने में कई चीजों के साथ कोई कठिन और तेज उत्तर नहीं है और यह सुनिश्चित करने का एकमात्र तरीका विभिन्न तकनीकों को लागू करना है जो आपके डेटा के लिए सबसे उपयुक्त परिणाम देखते हैं।


0

मैंने कुछ मामलों में "व्यापार मूल्यांकन" फ़ंक्शन को परिभाषित करने के लिए उपयोगी पाया, जो क्लस्टरिंग के लिए उपयोग किए गए आयामों के "महत्व" को परिभाषित करता है। उदाहरण के लिए, greengrocer ग्राहकों को परेशान करता है, अगर सेब संतरे से दोगुना महंगा है, तो सेब की संख्या दोगुनी हो जाएगी।


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