पंक्ति सामान्यीकरण का उद्देश्य क्या है


13

मैं कॉलम के सामान्यीकरण के पीछे के तर्क को समझता हूं, क्योंकि यह सुविधाओं को समान रूप से भारित करने का कारण बनता है, भले ही उन्हें समान पैमाने पर मापा न जाए - हालांकि, अक्सर निकटतम पड़ोसी साहित्य में, दोनों कॉलम और पंक्तियों को सामान्यीकृत किया जाता है। पंक्तियों का सामान्यीकरण / पंक्तियों को सामान्य क्यों किया जाता है? विशेष रूप से, पंक्ति सामान्यीकरण का परिणाम पंक्ति वैक्टर के बीच समानता / दूरी को कैसे प्रभावित करता है?


क्या आप पंक्तियों को सामान्य करने वाले साहित्य का हवाला दे सकते हैं? मुझे एहसास है कि यह एक अपेक्षाकृत पुरानी चर्चा है लेकिन मैं हाल ही में एक समान मुद्दे पर आया हूं और मतभेदों का पता लगाने की कोशिश कर रहा हूं। मैं एक उत्तर के रूप में इस पर अपना पोस्ट पोस्ट करूंगा।
DataD'oh 10

जवाबों:


4

यह एक अपेक्षाकृत पुराना धागा है लेकिन मैंने हाल ही में अपने काम में इस मुद्दे का सामना किया और इस चर्चा पर ठोकर खाई। इस सवाल का जवाब दिया गया है, लेकिन मुझे लगता है कि जब यह विश्लेषण की इकाई नहीं है तो पंक्तियों को सामान्य करने का खतरा है (ऊपर देखें @ डीजेहॉसन का जवाब) संबोधित नहीं किया गया है।

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

इसका वर्णन करने के लिए, मैं एक हाइपरक्यूब के कोनों पर नकली गाऊसी डेटा का उपयोग करूंगा। सौभाग्य से Rवहाँ के लिए एक सुविधाजनक कार्य है (कोड जवाब के अंत में है)। 2 डी मामले में यह सीधा है कि पंक्ति-मध्य-केंद्रित डेटा 135 डिग्री पर मूल से गुजरने वाली रेखा पर गिर जाएगा। सिम्युलेटेड डेटा को क्लस्टर की सही संख्या के साथ k- साधनों का उपयोग करके क्लस्टर किया जाता है। डेटा और क्लस्टरिंग परिणाम (मूल डेटा पर पीसीए का उपयोग करके 2D में विज़ुअलाइज़ किए गए) इस तरह दिखते हैं (सबसे बाएं प्लॉट के लिए अक्ष अलग-अलग हैं)। क्लस्टरिंग प्लॉट में बिंदुओं के विभिन्न आकार जमीनी सच्चाई क्लस्टर असाइनमेंट को संदर्भित करते हैं और रंग k- साधन क्लस्टरिंग के परिणाम हैं।

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

डेटा पंक्ति-मध्य केंद्रित होने पर शीर्ष-बाएँ और नीचे-दाएँ क्लस्टर आधे में कट जाते हैं। इसलिए पंक्ति-मध्य-केंद्रित होने के बाद की दूरी विकृत हो जाती है और बहुत सार्थक नहीं होती है (कम से कम डेटा के ज्ञान के आधार पर)।

2 डी में आश्चर्य की बात नहीं है, अगर हम अधिक आयामों का उपयोग करते हैं तो क्या होगा? यहाँ 3 डी डेटा के साथ क्या होता है। पंक्ति-मीन-सेंटिंग के बाद क्लस्टरिंग समाधान "खराब" है।

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

और 4 डी डेटा के साथ समान (अब संक्षिप्तता के लिए दिखाया गया है)।

ये क्यों हो रहा है? पंक्ति-माध्य केंद्र डेटा को किसी ऐसे स्थान पर धकेलता है जहां कुछ सुविधाएँ अन्यथा होने के बजाय करीब आती हैं। यह सुविधाओं के बीच सहसंबंध में परिलक्षित होना चाहिए। आइए देखें कि (पहले मूल डेटा पर और फिर 2D और 3D मामलों के लिए पंक्ति-मध्य-केंद्रित डेटा पर)।

[,1] [,2] [1,] 1.000 -0.001 [2,] -0.001 1.000 [,1] [,2] [1,] 1 -1 [2,] -1 1 [,1] [,2] [,3] [1,] 1.000 -0.001 0.002 [2,] -0.001 1.000 0.003 [3,] 0.002 0.003 1.000 [,1] [,2] [,3] [1,] 1.000 -0.504 -0.501 [2,] -0.504 1.000 -0.495 [3,] -0.501 -0.495 1.000 तो ऐसा लगता है कि पंक्ति-मीनिंग-सेंटरिंग सुविधाओं के बीच सहसंबंध शुरू कर रहा है। यह सुविधाओं की संख्या से कैसे प्रभावित होता है? हम यह पता लगाने के लिए एक सरल सिमुलेशन कर सकते हैं। सिमुलेशन का परिणाम नीचे दिखाया गया है (फिर अंत में कोड)।

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

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

तो क्या होता है जब हम वास्तविक डेटा का उपयोग करते हैं? डेटा के आंतरिक आयाम कम होने के कारण कई बार अभिशाप लागू नहीं होता है । ऐसे मामले में मुझे लगता है कि पंक्ति-मध्य-केंद्रित एक "बुरा" विकल्प हो सकता है जैसा कि ऊपर दिखाया गया है। बेशक, किसी भी निश्चित दावे को करने के लिए अधिक कठोर विश्लेषण की आवश्यकता है।

क्लस्टरिंग सिमुलेशन के लिए कोड

palette(rainbow(10))
set.seed(1024)
require(mlbench)
N <- 5000
for(D in 2:4) {
X <- mlbench.hypercube(N, d=D)
sh <- as.numeric(X$classes)
K <- length(unique(sh))
X <- X$x

Xc <- sweep(X,2,apply(X,2,mean),"-")
Xr <- sweep(X,1,apply(X,1,mean),"-")

show(round(cor(X),3))
show(round(cor(Xr),3))

par(mfrow=c(1,1))

k <- kmeans(X,K,iter.max = 1000, nstart = 10)
kc <- kmeans(Xc,K,iter.max = 1000, nstart = 10)
kr <- kmeans(Xr,K,iter.max = 1000, nstart = 10)
pc <- prcomp(X)
par(mfrow=c(1,4))

lim <- c(min(min(X),min(Xr),min(Xc)), max(max(X),max(Xr),max(Xc)))
plot(X[,1], X[,2], xlim=lim, ylim=lim, xlab="Feature 1", ylab="Feature 2",main="Data",col=1,pch=1)
points(Xc[,1], Xc[,2], col=2,pch=2)
points(Xr[,1], Xr[,2], col=3,pch=3)
legend("topleft",legend=c("Original","Center-cols","Center-rows"),col=c(1,2,3),pch=c(1,2,3))
abline(h=0,v=0,lty=3)

plot(pc$x[,1], pc$x[,2], col=rainbow(K)[k$cluster], xlab="PC 1", ylab="PC 2", main="Cluster original", pch=sh)
plot(pc$x[,1], pc$x[,2], col=rainbow(K)[kc$cluster], xlab="PC 1", ylab="PC 2", main="Cluster center-col", pch=sh)
plot(pc$x[,1], pc$x[,2], col=rainbow(K)[kr$cluster], xlab="PC 1", ylab="PC 2", main="Cluster center-row", pch=sh)
}

सुविधाओं के सिमुलेशन में वृद्धि के लिए कोड

set.seed(2048)
N <- 1000
Cmax <- c()
Crmax <- c()
for(D in 2:100) {
X <- matrix(runif(N*D), nrow=N)    
C <- abs(cor(X))
diag(C) <- NA
Cmax <- c(Cmax, max(C, na.rm=TRUE))

Xr <- sweep(X,1,apply(X,1,mean),"-")
Cr <- abs(cor(Xr))
diag(Cr) <- NA
Crmax <- c(Crmax, max(Cr, na.rm=TRUE))
}
par(mfrow=c(1,1))
plot(Cmax, ylim=c(0,1), ylab="Max. cor.", xlab="#Features",col=1,pch=1)
points(Crmax, ylim=c(0,1), col=2, pch=2)
legend("topright", legend=c("Original","Center-row"),pch=1:2,col=1:2)

संपादित करें

कुछ गुग्लिंग के बाद इस पृष्ठ पर समाप्त हो गया, जहां सिमुलेशन समान व्यवहार दिखाते हैं और प्रस्ताव करते हैं कि पंक्ति-मीन-सेंटरिंग द्वारा प्रस्तुत सहसंबंध ।-1/(पी-1)


5

पंक्ति के सामान्यीकरण के विभिन्न रूप हैं और ओपी यह नहीं बता रहा है कि कौन सा व्यक्ति उसके दिमाग में है।

पंक्ति सामान्यीकरण का एक विशिष्ट रूप (यूक्लेडियन मानदंड सामान्यीकरण) जहां प्रत्येक पंक्ति को मानदंड दिया जाता है (इसके यूकेलियन मानदंड से विभाजित) शांत लोकप्रिय है।

3.2

एक्सएक्सपी

(0)आर(एक्सएक्स)=||एक्सएक्स||2-1एक्सएक्स

पी>1पी

उदाहरण के लिए, यदि आपका मूल डेटा केंद्रित है (जैसे इस छवि में काले डॉट्स) और आप उस पर पंक्ति सामान्यीकरण लागू करते हैं, तो आप लाल तारों को प्राप्त करते हैं।

library(car)
p = 2
n = 1000
m = 10
C = matrix(.9, p, p)
diag(C) = 1
set.seed(123)
x = matrix(runif(n * p, -1, 1), n, p) %*% chol(C)
z = sweep(x, 1, sqrt(rowSums(x * x)), FUN = '/')
plot(rbind(x, z), pch = 16, type = 'n', ann = FALSE, xaxt = 'n', yaxt = 'n')
points(x, pch = 16)
points(z, pch = 8, col = 'red')

हरे रंग के डॉट्स मूल डेटा में आउटलेर्स की एक छोटी संख्या का प्रतिनिधित्व करते हैं। यदि आप उनके लिए पंक्ति सामान्यीकरण परिवर्तन लागू करते हैं, तो आप नीले सितारों को प्राप्त करते हैं।

x_1 = sweep(matrix(runif(m * p, -1, 1), m, p), 2, c(2, -2))
z_1 = sweep(x_1, 1, sqrt(rowSums(x_1 * x_1)), FUN = '/')
plot(rbind(x, x_1, z, z_1), pch = 16, type = 'n', ann = FALSE, xaxt = 'n', yaxt = 'n')
points(x, pch = 16)
points(x_1, pch = 16, col = 'green')
points(z, pch = 8, col = 'red')
points(z_1, pch = 8, col = 'blue')

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

एक्सएफएक्स

z

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

ellipse(crossprod(rbind(x, x_1)) / (n + m - 1) / det(crossprod(rbind(x, x_1)) / (n + m - 1))^(1 / p), center = rep(0, p), col = 'green', radius = 1)
ellipse(crossprod(rbind(z, z_1)) / (n + m - 1) / det(crossprod(rbind(z, z_1)) / (n + m - 1))^(1 / p), center = rep(0, p), col = 'red', radius = 1)
ellipse(crossprod(rbind(x)) / (n - 1) / det(crossprod(rbind(x)) / (n - 1))^(1 / p), center = rep(0, p), col = 'black', radius = 1)

zएक्स

  • [०] एस। विसुरी, वी। कोइवुनेन, एच। ओजा (२०००)। साइन और रैंक कोवरियस मैट्रिसेस, जर्नल ऑफ़ स्टैटिस्टिकल प्लानिंग एंड इंफ़ेक्शन वॉल्यूम 91, अंक 2, 557–575।

4

पंक्ति सामान्यीकरण करने के लिए कुछ क्षेत्र-विशिष्ट कारण हैं । पाठ विश्लेषण में, पाठ को शब्दों के हिस्टोग्राम के साथ प्रस्तुत करना काफी सामान्य है। प्रत्येक पंक्ति के लिए शब्दों की गिनती से शुरू होकर, कच्चा मानकीकरण इसे हिस्टोग्राम में बदल देता है।

और कम्प्यूटेशनल कारण । यदि आप विरल मैट्रिक्स के साथ काम कर रहे हैं, तो आप कॉलम द्वारा आसानी से डेटा कॉलम को केंद्र और स्केल नहीं कर सकते। यदि आप इसे घने मैट्रिक्स में एम्बेड करते हैं, तो मेमोरी में फिट होने के लिए डेटा बहुत बड़ा हो सकता है। हालाँकि, पंक्ति द्वारा स्केलिंग पंक्ति स्मृति की कुल मात्रा को प्रभावित नहीं करती है।


कम्प्यूटेशनल कारण के लिए, क्या आप कह रहे हैं कि हम केवल स्थानान्तरण और पंक्ति को सामान्य करते हैं क्योंकि जिस तरह से विरल मैट्रिस का प्रतिनिधित्व किया जाता है? मैं मोर्सो से पूछ रहा हूं कि पंक्ति सामान्यीकरण अभ्यास में निकटतम पड़ोसी परिणामों को कैसे प्रभावित करता है।
जिज्ञासा_डेलिवर्स 16

3

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

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