বড় ডেটা সেটিংয়ের জন্য সমান্তরাল / বিতরণ উপায়ে লিনিয়ার রিগ্রেশন কীভাবে চালানো যায়?


13

আমি খুব বড় লিনিয়ার রিগ্রেশন সমস্যা নিয়ে কাজ করছি, ডেটা আকার এত বড় যে তাদের মেশিনগুলির একটি গোষ্ঠীতে সংরক্ষণ করতে হবে। সমস্ত নমুনা একক মেশিনের মেমোরিতে (এমনকি ডিস্কে) একত্রিত করতে এটি অনেক বড় হবে

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

এটা কি কোন চেতনা তৈরী করে ? যদি তা হয় তবে প্রতিটি পৃথক আর 2 থেকে আমি মোট প্রত্যাশিত কীভাবে পেতে পারি ?R2R2

উত্তর:


10

সংক্ষিপ্ত উত্তর:

হ্যাঁ, সমান্তরালে লিনিয়ার রিগ্রেশন চালানো হয়েছে। উদাহরণস্বরূপ, জিয়াংরুই মেনগ এট ​​আল। (2016) অ্যাপাচি স্পার্কে মেশিন লার্নিংয়ের জন্য। এটি যেভাবে কাজ করে তা হ'ল স্টোকাস্টিক গ্রেডিয়েন্ট ডেসেন্ট (এসজিডি)। বিভাগ 3, মূল বৈশিষ্ট্যগুলিতে, লেখক উল্লেখ করেছেন:

জেনারাইজড লিনিয়ার মডেলগুলি অপ্টিমাইজেশন অ্যালগরিদমগুলির মাধ্যমে শিখে নেওয়া হয় যা কর্মী গণনের জন্য দ্রুত সি ++ - ভিত্তিক লিনিয়ার বীজগণিত গ্রন্থাগারগুলি ব্যবহার করে গ্রেডিয়েন্ট গণনার সমান্তরাল করে।

এসজিডি কীভাবে কাজ করে তার একটি উদাহরণ এখানে আমার উত্তরে পাওয়া যাবে: স্টকাস্টিক গ্রেডিয়েন্ট বংশোদ্ভূত মান কিভাবে গ্রেডিয়েন্ট বংশোদ্ভূত অবতরণের সাথে তুলনা করে সময় বাঁচাতে পারে?


দীর্ঘ উত্তর:

দ্রষ্টব্য, স্বরলিপিটি আমার দেওয়া লিঙ্কটির সাথে সামঞ্জস্যপূর্ণ নয়, আমি মনে করি এই প্রশ্নের মধ্যে ম্যাট্রিক্স স্বরলিপি আরও ভাল।

লিনিয়ার রিগ্রেশন করতে আমরা চেষ্টা করছি

minimize Xβy2

ডেরাইভেটিভ হয়

2XT(Xβy)

ছোট ডেটা সেটিংসে আমরা ডেরাইভেটিভ তে সেট করতে পারি এবং এটি সরাসরি সমাধান করতে পারি। (উদাহরণস্বরূপ, আর। এ কিউআর পচে যাওয়া) বড় ডেটা সেটিংসে ম্যাট্রিক্স ডেটা মেমরির মধ্যে সঞ্চয়যোগ্য নয় এবং সরাসরি সমাধান করা শক্ত হতে পারে। (কীভাবে বিপুল ম্যাট্রিকের জন্য কিউআর পচন বা কোলেস্কি পচন করতে পারি তার সাথে আমি পরিচিত নই)।এক্স0X

এর সমান্তরাল করার একটি উপায় একটি পুনরাবৃত্ত পদ্ধতিটি ব্যবহার করার চেষ্টা করা হচ্ছে: স্টোকাস্টিক গ্রেডিয়েন্ট বংশোদ্ভূত, যেখানে আমরা ডেটার একটি উপসেট ব্যবহার করে গ্রেডিয়েন্টটি আনুমানিক করতে পারি। (আমরা যদি ডেটার উপসেট উপস্থাপনের জন্য , ব্যবহার তবে গ্রেডিয়েন্টটি দ্বারা প্রায় করা , এবং আমরা আনুমানিক গ্রেডিয়েন্টের সাথে আপডেট করতে পারি )।y s 2 X T s ( X s β - y s ) βXsys2XsT(Xsβys)β

এছাড়াও, পরিসংখ্যানগুলির জন্য, আমরা সমান্তরালভাবে বা উপাত্তের একটি উপসেট ব্যবহার করে এটি প্রায় আনুমানিক সমস্ত ডেটার জন্য গণনা করতে পারি ।আর 2R2R2

এটি কীভাবে কাজ করে তা সম্পর্কে অনুপ্রেরণা (ম্যাপ্রেডিজ প্যারাডাইম):

আমি একটি উপসেট ব্যবহার করে আনুমানিকতা বলতে থাকি; এই কাজগুলির জন্য অন্তর্দৃষ্টিটি নিম্নলিখিত উদাহরণে বর্ণিত হতে পারে: ধরুন আমার কাছে 100 বিলিয়ন ডেটা পয়েন্ট রয়েছে এবং আমরা সমস্ত ডেটা পয়েন্টের গড় গণনা করতে চাই। মনে করুন যে এই ধরণের অপারেশন পরিচালনা করতে খুব দীর্ঘ সময় লাগে, এবং আরও পুরো তথ্য মেমরিতে সংরক্ষণ করা যায় না।

আমরা যা করতে পারি তা হ'ল কেবল একটি উপসেট নেওয়া, 1 বিলিয়ন আইটেম বলুন এবং এগুলির গড় গণনা করুন। এইভাবে উত্পাদিত আনুমানিকতা সত্য থেকে খুব বেশি দূরে থাকা উচিত নয় (অর্থাত্, পুরো ডেটা ব্যবহার করে)।

সমান্তরাল করতে, আমরা 100 টি কম্পিউটার ব্যবহার করতে পারি, যার মধ্যে প্রতিটি 1 বিলিয়ন ডেটা পয়েন্টের আলাদা উপসেট নিয়ে থাকে এবং এর গড় গণনা করে। (সাধারণত এমএপি পদক্ষেপ হিসাবে পরিচিত)। অবশেষে, এই 100 টি সংখ্যার উপর আরও একটি গড় চালান (ওরফে রেডইউএসইসি পদক্ষেপ)।

নোট করুন "ম্যাপ্রেডস দৃষ্টান্ত" কিছু ক্ষেত্রে ভাল কাজ করবে তবে অন্যের ক্ষেত্রে ভাল হয় না। উদাহরণস্বরূপ, পূর্বে উল্লিখিত "গড়" অপারেশনটি খুব সহজ, কারণ আমরা জানি , ( এবং এর দৈর্ঘ্য সমান বলে ধরে নেওয়া)। কিছু পুনরাবৃত্ত পদ্ধতির জন্য, যেমন, বর্তমান পুনরাবৃত্তি পূর্ববর্তী পুনরাবৃত্তির ফলাফলের উপর নির্ভরশীল, এটি সমান্তরাল করা শক্ত। স্টোকাস্টিক গ্রেডিয়েন্ট বংশোদ্ভূত ডেটাগুলির একটি উপসেট ব্যবহার করে গ্রেডিয়েন্টটি প্রায় অনুমান করে এই সমস্যাটি সমাধান করে। এবং বিশদটি @ ব্যবহারকারী20160 এর উত্তরে পাওয়া যাবে।x ymean(<x,y>)=mean(x)+mean(y)xY

তথ্যসূত্র:

জিয়াংরুই মেং এট। (2016) । এমএলিব: অ্যাপাচি স্পার্কে মেশিন লার্নিং


8

@ Hxd1011 হিসাবে উল্লিখিত হিসাবে, একটি পদ্ধতিকে অপ্টিমাইজেশান সমস্যা হিসাবে লিনিয়ার রিগ্রেশন তৈরি করা হয়, তারপরে এটি পুনরাবৃত্ত অ্যালগরিদম (যেমন স্টোকাস্টিক গ্রেডিয়েন্ট ডেসেন্ট) ব্যবহার করে সমাধান করুন। এই পদ্ধতির সমান্তরাল হতে পারে তবে কয়েকটি গুরুত্বপূর্ণ প্রশ্ন রয়েছে: 1) কীভাবে সমস্যাটিকে সাব-প্রোবলেমে বিভক্ত করা উচিত? 2) এসজিডির মতো অপ্টিমাইজেশন অ্যালগরিদমগুলি অন্তর্নিহিত ক্রম অনুসারে, বিশ্বব্যাপী সমাধান পাওয়ার জন্য কীভাবে সাব-সমস্যাগুলির সমাধানগুলি একত্রিত করা উচিত?

জিনকিভিচ এট আল। (2010) একাধিক মেশিনে সমান্তরাল করতে কিছু পূর্ববর্তী পদ্ধতির বর্ণনা:

  • 1) নীচে এসজিডি সমান্তরাল করুন: একাধিক মেশিনে ডেটা বিভক্ত করুন। প্রতিটি পদক্ষেপে, প্রতিটি স্থানীয় মেশিন তথ্যের একটি উপসেট ব্যবহার করে গ্রেডিয়েন্টটি অনুমান করে। সমস্ত গ্রেডিয়েন্ট অনুমান একটি কেন্দ্রীয় মেশিনে দেওয়া হয়, যা তাদেরকে বিশ্বব্যাপী প্যারামিটার আপডেট সম্পাদনের জন্য একত্রিত করে। এই পদ্ধতির খারাপ দিকটি এটির জন্য ভারী নেটওয়ার্ক যোগাযোগ দরকার, যা দক্ষতা হ্রাস করে।

  • 2) স্থানীয় মেশিনে সমানভাবে ডেটা বিভক্ত করুন। প্রতিটি মেশিন ব্যাচের সলভার ব্যবহার করে ডেটা নিজস্ব উপসেটের জন্য ঠিক সমস্যাটি সমাধান করে sol স্থানীয় মেশিনগুলি থেকে চূড়ান্ত প্যারামিটার অনুমানগুলি একটি বিশ্বব্যাপী সমাধান উত্পাদন করতে গড় হয়। এই পদ্ধতির সুবিধাটি হ'ল এর জন্য খুব কম নেটওয়ার্ক যোগাযোগের প্রয়োজন হয়, তবে ক্ষতিটি হ'ল প্যারামিটারের অনুমানগুলি সাবঅপটিমাল হতে পারে।

তারা একটি নতুন পদ্ধতির প্রস্তাব দেয়:

  • 3) প্রতিটি স্থানীয় মেশিনকে এলোমেলোভাবে ডেটা পয়েন্ট আঁকতে অনুমতি দিন। প্রতিটি মেশিনে এসজিডি চালান। অবশেষে, বিশ্বব্যাপী সমাধান পাওয়ার জন্য মেশিনগুলিতে পরামিতিগুলি গড় করুন। (2) এর মতো, এই পদ্ধতিটির জন্য খুব কম নেটওয়ার্ক যোগাযোগ প্রয়োজন। তবে, প্যারামিটারের অনুমানগুলি আরও ভাল কারণ প্রতিটি মেশিনকে ডেটার একটি বৃহত ভগ্নাংশ অ্যাক্সেসের অনুমতি দেওয়া হয়।

প্যারালালাইজড অপ্টিমাইজেশন পদ্ধতিটি খুব সাধারণ, এবং অনেকগুলি মেশিন লার্নিং অ্যালগরিদমগুলিতে প্রয়োগ হয় (কেবল লিনিয়ার রিগ্রেশন নয়)।

আরেকটি বিকল্প হ'ল সমান্তরাল / বিতরণিত ম্যাট্রিক্স পচে যাওয়া অ্যালগরিদম বা লিনিয়ার সলভার ব্যবহার করা। সর্বনিম্ন স্কোয়ারে লিনিয়ার রিগ্রেশনটির একটি বিশেষ কাঠামো রয়েছে যা ম্যাট্রিক্স পচন পদ্ধতি ব্যবহার করে এটি সমাধান করার অনুমতি দেয়। মেমরির সাথে খাপ খায় এমন একটি ছোট ডেটা সেট এর ক্ষেত্রে আপনি সাধারণত এটি সমাধান করতে চান। একাধিক মেশিনে ম্যাট্রিক্সের ব্লক বিতরণ করে সমান্তরাল / বিতরণকৃত ম্যাট্রিক্স কম্পিউটিশন ব্যবহার করে সমস্যার সমাধান করে এটি সমান্তরাল করা যায়। এই পদ্ধতির রৈখিক সিস্টেমগুলি সমাধান করার ক্ষেত্রে আরও বিশেষায়িত দেওয়া, এটি দেখার জন্য আকর্ষণীয় হবে যে এর কর্মক্ষমতাটি আরও সাধারণ বিতরণকৃত অপ্টিমাইজেশান পদ্ধতির সাথে কীভাবে তুলনা করে। যদি কেউ এই সম্পর্কে আরও তথ্য সরবরাহ করতে পারে তবে আমি শুনে আনন্দিত হব।

তথ্যসূত্র:

জিনকিভিচ এট আল। (2010) । সমান্তরাল স্টোকাস্টিক গ্রেডিয়েন্ট বংশোদ্ভূত।


সমস্যাটি সমাধান করার জন্য +1 দুর্দান্ত উত্তর, যা আমি বিশদ আলোচনা করিনি, এটি হল কী কী অনুমানের গ্রেডিয়েন্ট থাকার পরে।
হাইতাও ডু

@ hxd1011 আপনার কাছে এসজিডি-র সুন্দর বর্ণনা এবং এটি কীভাবে ওপি-র সমস্যার সাথে সংযুক্ত করবেন তার সুন্দর বিবরণের জন্য
ব্যবহারকারী ২০১6060

2

দীর্ঘ, দীর্ঘ, মানচিত্র হ্রাস করার আগে আমি এটি সমাধান করেছি। নীচে জার্নাল অফ ইকোনোমেট্রিক্সে আমার একটি পুরাতন কাগজের উল্লেখ রয়েছে reference এটি সমান্তরাল অ-লাইনারি সর্বাধিক সম্ভাবনার জন্য ছিল এবং এম-অনুমানের জন্য কাজ করবে।

পদ্ধতিটি হতাশাগুলির জন্য সঠিক। কে প্রসেসর / ইউনিটগুলিতে কে সাবসেটগুলিতে ডেটা বিভক্ত করুন (ক্রমানুসারে এছাড়াও করা যেতে পারে k) কে-রিগ্রেশনগুলি রিগ্রেশন সহগের প্রতিটিটির জন্য এক্স'এক্স ম্যাট্রিক্স রাখে। এই বি 1, ..., বিকে এবং ডাব্লু 1, ..., ডব্লিউ কে যথাক্রমে কল করুন তারপর সামগ্রিকভাবে রিগ্রেশন সহগ বি = বিপরীত (ডাব্লু 1 + .. + ডব্লিউ কে) * (ডাব্লু 1 * বি 1 + ... + ডব্লু * বিকে) এক দ্বারা দেওয়া হবে সিগমা ^ 2 আনুমানিক ত্রুটি বৈকল্পিক, আর overall 2 সামগ্রিক এফ এবং এর মতো পাওয়ার জন্য প্যারামিটারগুলির জন্য খ ব্যবহার করে অবশিষ্টাংশগুলি গণনা করার জন্য ডেটা দিয়ে অন্য পাসের প্রয়োজন। তারপরে b এর covariance ম্যাট্রিক্সটি ঠিক সিগমা ^ 2 (বিপরীত (ডাব্লু 1 + .. + ডাব্লু)) দিয়ে থাকে। উপরে * ম্যাট্রিক্সের গুণকে নির্দেশ করে।

https://www.sciencedirect.com/science/article/pii/0304407680900950


আমার নিজের কাজটি করার সময় যদি আমি আপনার কাজটি জানতাম! একাডেমিক.উপ.
com
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.