পিসিএ এবং ট্রান্সকেটেডএসভিডি-র বিজ্ঞান-শিখার প্রয়োগের মধ্যে পার্থক্য


12

আমি একটি বীজগণিত / সঠিক স্তরে অধ্যক্ষ উপাদান উপাদান বিশ্লেষণ এবং একক মান মান পচন মধ্যে সম্পর্ক বুঝতে পারি। আমার প্রশ্ন বিজ্ঞান-শিখার বাস্তবায়ন সম্পর্কে ।

ডকুমেন্টেশনটিতে বলা হয়েছে: " [ট্র্যাঙ্কেটেড এসভিডি] পিসিএর সাথে খুব সমান, তবে কোভারিয়েন্স ম্যাট্রিক্সের পরিবর্তে সরাসরি নমুনা ভেক্টরগুলিতে পরিচালিত হয়। ", যা উভয় পদ্ধতির মধ্যে বীজগণিতের পার্থক্যকে প্রতিফলিত করবে। তবে এটি পরে বলেছে: " এই অনুমানকারী [ট্র্যাঙ্কেটেড এসভিডি] দুটি অ্যালগরিদমকে সমর্থন করে: একটি দ্রুত এলোমেলো এসভিডি সলভার, এবং একটি" নিষ্পাপ "অ্যালগরিদম যা এআরপিএকেকে (এক্স * এক্সটি) বা (এক্সটি * এক্স) চালু করে, যেটি আরও বেশি দক্ষ। " সংক্রান্ত পিসিএ, এটি বলে: "ডেটাটিকে প্রজেক্ট করার জন্য একক মান মান পচিয়ে ব্যবহার করে লিনিয়ার মাত্রিকতা হ্রাস ..."। এবং পিসিএ বাস্তবায়ন একই দুটি অ্যালগরিদম (এলোমেলোভাবে এবং এআরপ্যাক) সলভার প্লাস অন্য আরেকটি, ল্যাপাককে সমর্থন করে। কোডটি সন্ধান করে আমি দেখতে পাচ্ছি যে উভয়ই পিসিএ এবং ট্রানকাটেডএসভিডি এআরএপ্যাক এবং ল্যাপাক স্যাম্পল ডেটা এক্স-এর উপর এসভিডি করে, আরপ্যাক বিচ্ছিন্ন ম্যাট্রিক্স (এসভিডি ব্যবহার করে) মোকাবেলা করতে সক্ষম হয়।

সুতরাং, পৃথক বৈশিষ্ট্য এবং পদ্ধতিগুলি বাদ দিয়ে এবং পিসিএ অতিরিক্তভাবে LAPACK, PCA এবং TruncatedSVD সাইকিট-শিখার প্রয়োগগুলি ব্যবহার করে সঠিক সম্পূর্ণ একক মান ভলন করতে পারে ঠিক একই অ্যালগরিদম বলে মনে হয়। প্রথম প্রশ্ন: এটি কি সঠিক?

দ্বিতীয় প্রশ্ন: যদিও ল্যাপাক এবং এআরপিএসিসি স্লিপ ম্যাট্রিক্স হওয়ায় স্কিপি.লিনালগ.এসভিডি (এক্স) এবং স্কিপি.লিনালগ.এসভিডিএস (এক্স) ব্যবহার করে, তারা একক মান ভলন বা বা এক্স এর ইগেন-পঁচন গণনা করে Intern এক্স টি অভ্যন্তরীণভাবে। "র্যান্ডমাইজড" সলভারের ক্ষেত্রে পণ্যটি গণনা করার দরকার নেই। (এটি সংখ্যার স্থিতিশীলতার সাথে প্রাসঙ্গিক, কেন ডেটার এসভিডি মাধ্যমে ডেটা পিসিএ দেখুন ? )। এটা কি সঠিক?এক্সটি*এক্সএক্স*এক্সটি

প্রাসঙ্গিক কোড: পিসিএ লাইন 415. সংক্ষিপ্ত এসভিডি লাইন 137।


1
আপনি কি
কোডটিতে

1
ড্রেক - আমি মনে করি আমি প্রথম প্রশ্নে আপনার সাথে একমত। দ্বিতীয়টি বুঝতে পারছি না। আপনার অর্থ কী 'তারা অভ্যন্তরীণভাবে XT ∗ XXT ∗ X বা X ∗ XTX ∗ XT এর একক মানের পচন বা ইগেন-পচন গণনা করতে পারে - আপনি সবেমাত্র কোডটি প্রদর্শন করেছেন যেখানে এটি এক্স এর উপর এসভিডি ব্যবহার করে সম্পন্ন হয়েছে? - সংখ্যাগত ইস্যুগুলি প্রথম কম্পিউটিং কোভরিয়েন্স ম্যাট্রিক্সকে উল্লেখ করে (এটি সি বলে) তারপরে সি এর
ইগেনভেেক্টর সন্ধান করুন

এক্সটি*এক্সএক্স*এক্সটি

1
এক্সXtimes()Xt_times()

@ জিওম্যাটট 22 আপনি কি নিজের মন্তব্যে বিস্তারিত বলতে পারবেন? আপনি কি বোঝাতে চাইছেন যে এআরপ্যাক বা ল্যাপাক পদ্ধতির সংখ্যাগত অস্থিতিশীলতায় ভুগছেন না কারণ তাদের কোভেরিয়েন্স ম্যাট্রিক্স গণনা করার প্রয়োজন নেই?
ড্রেক

উত্তর:


13

পিসিএ এবং ট্র্যাঙ্কেটেড এসভিডি সাইকিট-লার বাস্তবায়নগুলি ঠিক একই অ্যালগরিদম বলে মনে হচ্ছে।

নং: পিসিএ হ'ল (সংক্ষিপ্তভাবে) কেন্দ্রিক ডেটাগুলিতে এসভিডি (প্রতি বৈশিষ্ট্যটির দ্বারা গড় বিয়োগফল)। যদি ডেটা ইতিমধ্যে কেন্দ্রিক হয়, তবে এই দুটি ক্লাস একই করবে।

অনুশীলনে TruncatedSVDবড় স্পার্স ডেটাসেটগুলিতে দরকারী যা মেমরির ব্যবহারটি বিস্ফোরিত না করে কেন্দ্রীভূত করা যায় না।

  • numpy.linalg.svdএবং scipy.linalg.svdউভয়ই এখানে বর্ণিত LAPACK _GESDD এর উপর নির্ভর করে: http://www.netlib.org/lapack/lug/node32.html (ড্রাইভারকে বিভক্ত করুন এবং জয় করুন)

  • scipy.sparse.linalg.svdsএক্সটি এর ইগেন মান পচানোর জন্য এআরপ্যাকের উপর নির্ভর করে। এক্স বা এক্স আর্নল্ডি পুনরাবৃত্তি পদ্ধতির মাধ্যমে এক্সটি (ডেটার আকারের উপর নির্ভর করে)। এআরপ্যাকের এইচটিএমএল ব্যবহারকারীর গাইডের একটি ভাঙ্গা বিন্যাস রয়েছে যা গণনা সংক্রান্ত তথ্য গোপন করে তবে আর্নল্ডি পুনরাবৃত্তিটি উইকিপিডিয়াতে ভালভাবে বর্ণনা করা হয়েছে: https://en.wikedia.org/wiki/Arnoldi_iteration

স্কিপিতে আরপ্যাক-ভিত্তিক এসভিডি-র জন্য কোডটি এখানে রয়েছে:

https://github.com/scipy/scipy/blob/master/scipy/sparse/linalg/eigen/arpack/arpack.py#L1642 (উত্স কোডে লাইন পরিবর্তনের ক্ষেত্রে "ডিএফ এসভিডিএস" স্ট্রিংটির সন্ধান করুন )।


2
একটি দক্ষতার সাথে ছড়িয়ে ছিটিয়ে থাকা ডেটা সমর্থন করতে পারে (সংক্ষিপ্ত এসভিডি), অন্যটি (পিসিএ) পারে না। এই কারণেই আমাদের 2 টি ক্লাস রয়েছে।
ogrisel

1
যদি এর কারণ হয় তবে বিভ্রান্তি এড়াতে আমি তাদের এসভিডি এবং স্পার্সএসভিডি (বা অনুরূপ) বলতাম।
ড্রেক

2
তবে লোকেরা পিসিএ চায় এবং তারা জানে না যে পিসিএ কেন্দ্রিক ডেটাতে কেবল এসভিডি।
ogrisel

5
@ ড্রাক আমি অসম্মতি জানাই যে "পদ্ধতিগুলি আলাদা (পিসিএ কোভরিয়েন্স ম্যাট্রিক্স ব্যবহার করে এবং এসভিডি ডেটা ম্যাট্রিক্স ব্যবহার করে)"। পিসিএ বিশ্লেষণের ধরণের একটি নাম। এটি চালিয়ে নিতে কেউ বিভিন্ন অ্যালগরিদম এবং বাস্তবায়ন ব্যবহার করতে পারে। কোভ ম্যাট্রিক্সের ইআইজি হ'ল একটি পদ্ধতি, কেন্দ্রিক ডেটা ম্যাট্রিক্সের এসভিডি অন্য পদ্ধতি এবং তারপরে ইআইজি এবং এসভিডি বিভিন্ন পদ্ধতি দ্বারা সঞ্চালিতও হতে পারে। কিছু যায় আসে না - তার সবই পিসিএ।
অ্যামিবা

1
@ অ্যামিবা পরিভাষা সম্পর্কে স্পষ্টতা / সংশোধনের জন্য ধন্যবাদ। আপনি কি বলতে তোলে আমার আরো ইন্দ্রিয়, প্রদত্ত যে SVD এবং EIG বীজগাণিতিক উপপাদ্য / পিসিএ চেয়ে বৃহত্তর সুযোগ সঙ্গে পদ্ধতি
ড্রেক
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.