คำถามติดแท็ก matrix-decomposition

การสลายตัวของเมทริกซ์หมายถึงกระบวนการแยกตัวประกอบของเมทริกซ์เป็นผลคูณของเมทริกซ์ที่เล็กกว่า ด้วยการสลายเมทริกซ์ขนาดใหญ่เราสามารถดำเนินการอัลกอริทึมเมทริกซ์จำนวนมากได้อย่างมีประสิทธิภาพ

1
การลดขนาด (SVD หรือ PCA) บนเมทริกซ์ขนาดใหญ่ที่กระจัดกระจาย
/ แก้ไข: ติดตามเพิ่มเติมตอนนี้คุณสามารถใช้irlba :: prcomp_irlba / แก้ไข: ติดตามโพสต์ของฉันเอง irlbaขณะนี้มีอาร์กิวเมนต์ "กลาง" และ "สเกล" ซึ่งให้คุณใช้ในการคำนวณส่วนประกอบหลักเช่น: pc <- M %*% irlba(M, nv=5, nu=0, center=colMeans(M), right_only=TRUE)$v ฉันมีMatrixคุณสมบัติเบาบางขนาดใหญ่ที่ฉันต้องการใช้ในอัลกอริทึมการเรียนรู้ของเครื่อง: library(Matrix) set.seed(42) rows <- 500000 cols <- 10000 i <- unlist(lapply(1:rows, function(i) rep(i, sample(1:5,1)))) j <- sample(1:cols, length(i), replace=TRUE) M <- sparseMatrix(i, j) เนื่องจากเมทริกซ์นี้มีหลายคอลัมน์ฉันต้องการลดขนาดของมันเป็นสิ่งที่จัดการได้มากกว่า ฉันสามารถใช้แพ็คเกจ irlba ที่ยอดเยี่ยมเพื่อทำ …

1
บรรทัดฐานใดของข้อผิดพลาดในการสร้างใหม่จะถูกย่อให้เล็กสุดโดยเมทริกซ์การประมาณอันดับต่ำที่ได้จาก PCA
ได้รับ PCA (หรือ SVD) ประมาณของเมทริกซ์XXXกับเมทริกซ์Xเรารู้ว่าXที่ดีที่สุดคือประมาณต่ำยศXX^X^\hat XX^X^\hat XXXX นี่คือตามที่เหนี่ยวนำให้เกิด∥⋅∥2∥⋅∥2\parallel \cdot \parallel_2บรรทัดฐาน (เช่นที่ใหญ่ที่สุดบรรทัดฐาน eigenvalue) หรือตามที่ Frobenius ∥⋅∥F∥⋅∥F\parallel \cdot \parallel_Fบรรทัดฐาน?

2
ทำไม PCA ของข้อมูลโดยใช้วิธี SVD ของข้อมูล
คำถามนี้เกี่ยวกับวิธีที่มีประสิทธิภาพในการคำนวณส่วนประกอบหลัก ตำราจำนวนมากในการสนับสนุน PCA เชิงเส้นโดยใช้การสลายตัวเอกพจน์มูลค่าของข้อมูล Casewise นั่นคือถ้าเรามี dataและต้องการแทนที่ตัวแปร ( คอลัมน์ของมัน) ด้วยองค์ประกอบหลักเราจะทำ SVD: , ค่าเอกพจน์ (sq. รากของค่าลักษณะเฉพาะ) ครอบครองเส้นทแยงมุมหลักของ , ขวา eigenvectorเป็นเมทริกซ์การหมุนแบบมุมฉากของแกน - ตัวแปรเป็นแกน - องค์ประกอบ, ซ้าย eigenvectorเป็นเช่น , เฉพาะสำหรับกรณี จากนั้นเราสามารถคำนวณค่าองค์ประกอบเป็นCXX\bf X S V U V C = X V = U SX=USV′X=ยูSV'\bf X=USV'SS\bf SVV\bf VUยู\bf UVV\bf VC=XV=USC=XV=ยูS \bf C=XV=US อีกวิธีหนึ่งในการทำ PCA ของตัวแปรก็คือการสลายตัวของ …

1
การคำนวณเมทริกซ์ผกผันใน R อย่างมีประสิทธิภาพ
ฉันต้องการคำนวณเมทริกซ์ผกผันและใช้solveฟังก์ชัน ในขณะที่มันใช้งานได้ดีกับเมทริกซ์ขนาดเล็ก แต่solveมีแนวโน้มที่จะช้ามากในเมทริกซ์ขนาดใหญ่ ฉันสงสัยว่ามีฟังก์ชั่นอื่น ๆ หรือการรวมกันของฟังก์ชั่น (ผ่าน SVD, QR, LU หรือฟังก์ชั่นการสลายตัวอื่น ๆ ) ที่สามารถให้ผลลัพธ์ที่เร็วขึ้น

5
เอกสารสำคัญเกี่ยวกับการย่อยสลายเมทริกซ์
ฉันเพิ่งอ่านหนังสือของ Skillicorn เกี่ยวกับการย่อยสลายเมทริกซ์และผิดหวังเล็กน้อยเนื่องจากเป็นเป้าหมายสำหรับผู้ชมระดับปริญญาตรี ฉันต้องการรวบรวม (สำหรับตัวฉันเองและคนอื่น ๆ ) โดยสังเขปสั้น ๆ เกี่ยวกับเอกสารสำคัญ (การสำรวจ แต่ยังรวมถึงเอกสารที่ก้าวหน้า) เกี่ยวกับการย่อยสลายเมทริกซ์ สิ่งที่ฉันมีอยู่ในใจเป็นหลักคือบางสิ่งบางอย่างใน SVD / PCA (และตัวแปรที่แข็งแกร่ง / กระจัดกระจาย) และ NNMF เนื่องจากมีการใช้งานมากที่สุด คุณมีคำแนะนำ / ข้อเสนอแนะหรือไม่? ฉันถือของฉันไม่อคติคำตอบ ฉันขอให้ จำกัด คำตอบให้กับกระดาษ 2-3 ข้อ PS: ผมหมายถึงทั้งสอง decompositions เป็นที่ใช้มากที่สุดในการวิเคราะห์ข้อมูล แน่นอนว่า QR, Cholesky, LU และ polar มีความสำคัญมากในการวิเคราะห์เชิงตัวเลข นั่นไม่ใช่จุดเน้นของคำถามของฉัน

1
การอัพเดตการแยกย่อย SVD หลังจากเพิ่มหนึ่งแถวใหม่ในเมทริกซ์
สมมติว่าผมมีความหนาแน่นเมทริกซ์ของขนาดที่มีการสลายตัว SVDในฉันสามารถคำนวณ SVD ได้ดังนี้: .AA \textbf{A}m × nม.×nm \times nA = U S V⊤.A=ยูSV⊤.\mathbf{A}=\mathbf{USV}^\top.Rsvd(A) หากมีการเพิ่ม -th ใหม่ลงในสามารถคำนวณการแยกย่อย SVD ใหม่ตามแบบเก่า (เช่นโดยใช้ , , และ ) โดยไม่ต้องคำนวณใหม่ SVD ตั้งแต่ต้น?( m + 1 )(ม.+1)(m+1)AA\mathbf Aยูยู\mathbf USS\mathbf SVV\mathbf V

3
จะเลือกจำนวนปัจจัยแฝงที่เหมาะสมที่สุดในการแยกตัวประกอบเมทริกซ์ที่ไม่เป็นลบได้อย่างไร
ได้รับเมทริกซ์ , ไม่ใช่เชิงลบเมทริกซ์ตัวประกอบ (NMF) พบว่าทั้งสองเมทริกซ์ที่ไม่ใช่เชิงลบและ ( คือทุกองค์ประกอบ ) เพื่อเป็นตัวแทนของเมทริกซ์ที่สลายตัวเมื่อ:Vm×nVm×n\mathbf V^{m \times n}Wm×kWm×k\mathbf W^{m \times k}Hk×nHk×n\mathbf H^{k \times n}≥0≥0\ge 0 V≈WH,V≈WH,\mathbf V \approx \mathbf W\mathbf H, ตัวอย่างเช่นโดยการกำหนดว่าไม่ใช่ - ลบและลดข้อผิดพลาดในการสร้างใหม่WW\mathbf WHH\mathbf H∥V−WH∥2.‖V−WH‖2.\|\mathbf V-\mathbf W\mathbf H\|^2. มีวิธีปฏิบัติทั่วไปในการประมาณค่าkkkใน NMF หรือไม่ ตัวอย่างเช่นจะใช้การตรวจสอบความถูกต้องไขว้เพื่อจุดประสงค์นั้นได้อย่างไร

1
Eigenfunctions ของ adjacency matrix ของอนุกรมเวลา?
พิจารณาอนุกรมเวลาง่ายๆ > tp <- seq_len(10) > tp [1] 1 2 3 4 5 6 7 8 9 10 เราสามารถคำนวณเมทริกซ์ adjacency สำหรับอนุกรมเวลานี้ซึ่งเป็นตัวแทนของการเชื่อมโยงชั่วคราวระหว่างกลุ่มตัวอย่าง ในการคำนวณเมทริกซ์นี้เราเพิ่มไซต์จินตภาพในเวลา 0 และลิงก์ระหว่างการสังเกตนี้และการสังเกตจริงครั้งแรก ณ เวลา 1 เรียกว่าลิงก์ 0 ระหว่างเวลา 1 และเวลา 2 ลิงก์คือลิงค์ 1 และอื่น ๆ เนื่องจากเวลาเป็นกระบวนการกำหนดทิศทางเว็บไซต์จึงเชื่อมต่อกับลิงก์ (ที่ได้รับผลกระทบ) ซึ่งเป็น "อัปสตรีม" ของไซต์ ดังนั้นทุกไซต์เชื่อมต่อกับลิงค์ 0 แต่ลิงค์ 9 เชื่อมต่อกับไซต์ 10 เท่านั้น มันเกิดขึ้นชั่วคราวหลังจากแต่ละไซต์ยกเว้นไซต์ …

2
วิธีการลงจุดวงรีจากค่าลักษณะเฉพาะและค่าลักษณะเฉพาะใน R [ปิด]
ปิด. คำถามนี้เป็นคำถามปิดหัวข้อ ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามดังนั้นจึงเป็นหัวข้อสำหรับการตรวจสอบข้าม ปิดให้บริการใน2 ปีที่ผ่านมา มีใครมากับรหัสRเพื่อพล็อตวงรีจากค่าลักษณะเฉพาะและ eigenvectors ของเมทริกซ์ต่อไปนี้ A = ( 2.20.40.42.8)A=(2.20.40.42.8) \mathbf{A} = \left( \begin{array} {cc} 2.2 & 0.4\\ 0.4 & 2.8 \end{array} \right)

1
อธิบายว่า "eigen" ช่วยเปลี่ยนเมทริกซ์ได้อย่างไร
คำถามของฉันที่เกี่ยวข้องกับเทคนิคการคำนวณใช้ประโยชน์ในหรือgeoR:::.negloglik.GRFgeoR:::solve.geoR ในการตั้งค่าโมเดลเชิงเส้นผสม: โดยที่และเป็นเอฟเฟกต์แบบคงที่และแบบสุ่มตามลำดับ นอกจากนี้β b Σ = cov ( Y )Y=Xβ+Zb+eY=Xβ+Zb+e Y=X\beta+Zb+e ββ\betabbbΣ=cov(Y)Σ=cov(Y)\Sigma=\text{cov}(Y) เมื่อประเมินผลกระทบมีความจำเป็นต้องคำนวณ ซึ่งปกติสามารถทำได้โดยใช้สิ่งที่ชอบแต่บางครั้งเกือบจะไม่สามารถย้อนกลับได้ดังนั้นให้ใช้เล่ห์เหลี่ยม(X′Σ−1X)−1X′Σ−1Y(X′Σ−1X)−1X′Σ−1Y (X'\Sigma^{-1}X)^{-1}X'\Sigma^{-1} Y solve(XtS_invX,XtS_invY)(X′Σ−1X)(X′Σ−1X)(X'\Sigma^{-1}X)geoR t.ei=eigen(XtS_invX) crossprod(t(t.ei$vec)/sqrt(t.ei$val))%*%XtS_invY (สามารถเห็นได้ในgeoR:::.negloglik.GRFและgeoR:::.solve.geoR) ซึ่งจำนวนเงินที่จะเน่าเฟะ ที่และดังนั้น (X′Σ−1X)=ΛDΛ−1(X′Σ−1X)=ΛDΛ−1 (X'\Sigma^{-1}X)=\Lambda D \Lambda^{-1}\\ Λ′=Λ−1Λ′=Λ−1\Lambda'=\Lambda^{-1}(X′Σ−1X)−1=(D−1/2Λ−1)′(D−1/2Λ−1)(X′Σ−1X)−1=(D−1/2Λ−1)′(D−1/2Λ−1) (X'\Sigma^{-1}X)^{-1}=(D^{-1/2}\Lambda^{-1})'(D^{-1/2}\Lambda^{-1}) สองคำถาม: วิธีการที่ไม่สลายตัวไอเกนนี้จะช่วยให้กลับหัว ?(X′Σ−1X)(X′Σ−1X)(X'\Sigma^{-1}X) มีทางเลือกอื่น ๆ (ที่แข็งแกร่งและมั่นคง) หรือไม่? (เช่นqr.solveหรือchol2inv?)

1
สุดยอดแห่งการกรองความร่วมมือ
ฉันกำลังทำงานในโครงการสำหรับการกรองร่วมกัน (CF) เช่นการทำเมทริกซ์ที่สังเกตได้บางส่วนหรือเทนเซอร์ทั่วไป ฉันเป็นมือใหม่ในสนามและสำหรับโครงการนี้ในที่สุดฉันก็ต้องเปรียบเทียบวิธีการของเรากับคนอื่น ๆ ที่รู้จักกันดีว่าทุกวันนี้มีการเปรียบเทียบวิธีที่เสนอกับพวกเขานั่นคือ state-of-the-art การค้นหาของฉันเปิดเผยวิธีการดังต่อไปนี้ แน่นอนฉันเจอพวกเขาโดยดูที่เอกสารเหล่านี้บางส่วนและการอ้างอิงของพวกเขาหรือโดยดูที่ส่วนการทดลองเมื่อพวกเขาทำการเปรียบเทียบ ฉันยินดีที่จะทราบวิธีการเสนอใหม่และทำการเปรียบเทียบกับ SoTA ข้อใดต่อไปนี้เป็นทางเลือกที่ดีที่จะทำ หากไม่ใช่ในหมู่พวกเขาฉันยินดีที่จะรู้จักตัวแทนที่ดี ขึ้นอยู่กับการแยกตัวประกอบเมทริกซ์: การจัดอันดับโดยถ่วงน้ำหนักต่ำ (ICML 2003) การสร้างแบบจำลองโปรไฟล์คะแนนผู้ใช้สำหรับการกรองแบบร่วมมือกัน (NIPS 2003) รูปแบบ Multiplicative Factor หลายตัวสำหรับการกรองแบบร่วมมือกัน (ICML 2004) การแยกตัวประกอบอัตรากำไรขั้นต้นสูงสุดอย่างรวดเร็วสำหรับการคาดการณ์ความร่วมมือ (ICML 2005) การแยกตัวประกอบเมทริกซ์น่าจะเป็น (NIPS 2007) การแยกตัวประกอบเมทริกซ์น่าจะเป็นแบบเบย์ (ICML 2008) แบบจำลองปัจจัยแฝงที่อิงตามการถดถอย (KDD 2009) การแยกตัวประกอบเมทริกซ์แบบไม่เชิงเส้นด้วยกระบวนการเกาส์เซียน (ICML 2009) การแยกตัวประกอบการทรงตัวแบบไดนามิก (การประชุม ACM บนระบบผู้แนะนำ 2015) ขึ้นอยู่กับการแยกตัวประกอบแรงดึง: การรวมข้อมูลบริบทในระบบผู้แนะนำโดยใช้วิธีการหลายมิติ (ธุรกรรม ACM …

1
R / mgcv: เพราะเหตุใดผลิตภัณฑ์ te () และ ti () เทนเซอร์จึงให้พื้นผิวที่แตกต่างกัน
mgcvแพคเกจสำหรับการRมีสองฟังก์ชั่นสำหรับการปฏิสัมพันธ์กระชับเมตริกซ์ผลิตภัณฑ์: และte() ti()ฉันเข้าใจการแบ่งขั้นพื้นฐานของการใช้แรงงานระหว่างคนทั้งสอง (ปรับให้เหมาะสมกับการทำงานแบบไม่เป็นเชิงเส้นเปรียบเทียบกับการย่อยสลายการโต้ตอบนี้เป็นผลกระทบหลักและการโต้ตอบ) สิ่งที่ฉันไม่เข้าใจคือสาเหตุte(x1, x2)และti(x1) + ti(x2) + ti(x1, x2)อาจให้ผลลัพธ์ที่แตกต่าง (เล็กน้อย) MWE (ดัดแปลงมาจาก?ti): require(mgcv) test1 <- function(x,z,sx=0.3,sz=0.4) { x <- x*20 (pi**sx*sz)*(1.2*exp(-(x-0.2)^2/sx^2-(z-0.3)^2/sz^2)+ 0.8*exp(-(x-0.7)^2/sx^2-(z-0.8)^2/sz^2)) } n <- 500 x <- runif(n)/20;z <- runif(n); xs <- seq(0,1,length=30)/20;zs <- seq(0,1,length=30) pr <- data.frame(x=rep(xs,30),z=rep(zs,rep(30,30))) truth <- matrix(test1(pr$x,pr$z),30,30) f <- test1(x,z) y <- f …
11 r  gam  mgcv  conditional-probability  mixed-model  references  bayesian  estimation  conditional-probability  machine-learning  optimization  gradient-descent  r  hypothesis-testing  wilcoxon-mann-whitney  time-series  bayesian  inference  change-point  time-series  anova  repeated-measures  statistical-significance  bayesian  contingency-tables  regression  prediction  quantiles  classification  auc  k-means  scikit-learn  regression  spatial  circular-statistics  t-test  effect-size  cohens-d  r  cross-validation  feature-selection  caret  machine-learning  modeling  python  optimization  frequentist  correlation  sample-size  normalization  group-differences  heteroscedasticity  independence  generalized-least-squares  lme4-nlme  references  mcmc  metropolis-hastings  optimization  r  logistic  feature-selection  separation  clustering  k-means  normal-distribution  gaussian-mixture  kullback-leibler  java  spark-mllib  data-visualization  categorical-data  barplot  hypothesis-testing  statistical-significance  chi-squared  type-i-and-ii-errors  pca  scikit-learn  conditional-expectation  statistical-significance  meta-analysis  intuition  r  time-series  multivariate-analysis  garch  machine-learning  classification  data-mining  missing-data  cart  regression  cross-validation  matrix-decomposition  categorical-data  repeated-measures  chi-squared  assumptions  contingency-tables  prediction  binary-data  trend  test-for-trend  matrix-inverse  anova  categorical-data  regression-coefficients  standard-error  r  distributions  exponential  interarrival-time  copula  log-likelihood  time-series  forecasting  prediction-interval  mean  standard-error  meta-analysis  meta-regression  network-meta-analysis  systematic-review  normal-distribution  multiple-regression  generalized-linear-model  poisson-distribution  poisson-regression  r  sas  cohens-kappa 

1
เหตุใดการไม่ปฏิเสธจึงสำคัญสำหรับระบบการกรอง / ผู้แนะนำที่ทำงานร่วมกัน?
ในระบบแนะนำที่ทันสมัยทั้งหมดที่ฉันได้เห็นว่าต้องอาศัยการแยกตัวประกอบแบบเมทริกซ์การแยกตัวประกอบแบบเมทริกซ์ที่ไม่เป็นลบจะดำเนินการกับเมทริกซ์ภาพยนตร์ผู้ใช้ ฉันสามารถเข้าใจได้ว่าทำไมการไม่ปฏิเสธมีความสำคัญต่อการตีความและ / หรือถ้าคุณต้องการปัจจัยที่กระจัดกระจาย แต่ถ้าคุณสนใจเฉพาะการคาดการณ์เท่านั้นเช่นในการแข่งขันชิงรางวัล netflix ทำไมต้องกำหนดข้อ จำกัด ที่ไม่ปฏิเสธ ดูเหมือนว่าจะเลวร้ายยิ่งกว่าการอนุญาตให้มีค่าลบในการแยกตัวประกอบของคุณ กระดาษนี้เป็นหนึ่งในตัวอย่างที่อ้างถึงอย่างสูงของการใช้ตัวประกอบเมทริกซ์ที่ไม่เป็นลบในการกรองร่วมกัน

1
การคำนวณอย่างรวดเร็ว / การประมาณค่าของระบบเชิงเส้นระดับต่ำ
ระบบเชิงเส้นของสมการเป็นที่แพร่หลายในสถิติการคำนวณ ระบบพิเศษหนึ่งที่ฉันได้พบ (เช่นในการวิเคราะห์ปัจจัย) คือระบบ A x = bAx=bAx=b ที่ นี่คือเมทริกซ์แนวทแยงที่มีเส้นทแยงมุมบวกอย่างเคร่งครัดคือ (กับ ) สมมาตรเมทริกซ์กึ่งแน่นอนกึ่งบวกแน่นอนและเป็นเมทริกซ์โดยพลการ เราถูกขอให้แก้ไขระบบเส้นตรงในแนวทแยง (ง่าย) ที่ได้รับการรบกวนโดยเมทริกซ์ระดับต่ำ วิธีที่ไร้เดียงสาในการแก้ปัญหาดังกล่าวข้างต้นคือการกลับโดยใช้สูตรของฟอร์ด อย่างไรก็ตามนั่นไม่ถูกต้องเนื่องจาก Cholesky และ QR factorizations สามารถเร่งแก้ปัญหาของระบบเชิงเส้น (และสมการปกติ) ได้อย่างรวดเร็ว ฉันเพิ่งมาถึง D n × n Ω เมตร× มม« n B n × เมตรA = D + B Ω BTA=D+BΩBTA=D+ B \Omega B^TDDDn × nn×nn\times nΩΩ\Omegam …

2
การกรองความร่วมมือผ่านการแยกตัวประกอบแบบเมทริกซ์ด้วยฟังก์ชันการสูญเสียโลจิสติกส์
พิจารณาปัญหาการกรองร่วมกัน เรามีเมทริกซ์ขนาด # ผู้ใช้ * #items หากผู้ใช้ฉันชอบรายการ j,หากผู้ใช้ฉันไม่ชอบรายการ j และหากไม่มีข้อมูลเกี่ยวกับคู่ (i, j) เราต้องการที่จะทำนายสำหรับผู้ใช้งานในอนาคตคู่ไอเท็มMMMMi,j=1Mi,j=1M_{i,j} = 1Mi,j=0Mi,j=0M_{i,j} = 0Mi,j=?Mi,j=?M_{i,j}=?Mi,jMi,jM_{i,j} วิธีการกรองแบบร่วมมือกันมาตรฐานคือการแสดง M เป็นผลคูณของ 2 เมทริกซ์เช่นน้อยที่สุด (เช่นการลดความคลาดเคลื่อนกำลังสองเฉลี่ยสำหรับองค์ประกอบที่รู้จักของ )U×VU×VU \times V||M−U×V||2||M−U×V||2||M - U \times V||_2MMM สำหรับฉันแล้วฟังก์ชั่นการสูญเสียโลจิสติกส์ดูจะเหมาะสมกว่าทำไมอัลกอริธึมทั้งหมดที่ใช้ MSE

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.