রৈখিক প্রতিরোধের জন্য গ্রেডিয়েন্ট বংশোদ্ভূত কেন ব্যবহার করবেন, যখন কোনও ক্লোজড-ফর্ম গণিতের সমাধান পাওয়া যায়?


73

আমি মেশিন লার্নিং কোর্সগুলি অনলাইনে নিচ্ছি এবং অনুমানের অনুকূল মান গণনা করার জন্য গ্রেডিয়েন্ট বংশোদ্ভূত সম্পর্কে শিখেছি।

h(x) = B0 + B1X

নীচের সূত্রের সাহায্যে যদি আমরা সহজেই মানগুলি খুঁজে পেতে পারি তবে কেন আমাদের গ্রেডিয়েন্ট বংশদ্ভুত ব্যবহার করতে হবে? এটি সরাসরি এগিয়ে এবং সহজ দেখায়। তবে মান পেতে জিডির একাধিক পুনরাবৃত্তি প্রয়োজন।

B1 = Correlation * (Std. Dev. of y/ Std. Dev. of x)

B0 = Mean(Y) – B1 * Mean(X)

দ্রষ্টব্য: https://www.dezyre.com/data-s ज्ञान-in-r-programming-tutorial / linear-regression- টিউটোরিয়াল হিসাবে গৃহীত

আমি নীচের প্রশ্নগুলিতে যাচাই করেছিলাম এবং আমার জন্য এটি বোঝার জন্য পরিষ্কার ছিল না।

গ্রেডিয়েন্ট বংশোদ্ভূত কেন প্রয়োজনীয়?

কেন বিশ্লেষণী সমাধানের পরিবর্তে গ্রেডিয়েন্ট বংশোদ্ভূততার সাথে অপ্টিমাইজেশন সমাধান করা হয়?

উপরের উত্তরগুলি ডেরিভেটিভগুলি ব্যবহার করে জিডি বনামের তুলনা করে।


5
লিনিয়ার রিগ্রেশন সহগের অনুমানের জন্য আপনার গ্রেডিয়েন্ট বংশোদ্ভূত হওয়ার দরকার নেই।
সাইকোরাক্স

8
@ সাইকোরাক্স "দরকার নেই" একটি শক্ত বিবৃতি। Iterative পদ্ধতি বিশাল ডেটা জন্য দরকারী হতে পারে। বলুন ডেটা ম্যাট্রিক্স খুব বড় যা মেমোরিতে ফিট করে না।
হাইতাও ডু

8
@ hxd1011 সমস্যার এই ব্যবহারিক মাত্রাটি পরিষ্কার করার জন্য আপনাকে ধন্যবাদ। আমি খাঁটি গাণিতিক ভাষায় ভাবছিলাম।
সাইকোরাক্স

উত্তর:


89

লিনিয়ার রিগ্রেশন জন্য গ্রেডিয়েন্ট বংশদ্ভুত ব্যবহারের মূল কারণ হ'ল গণনা সংক্রান্ত জটিলতা: কিছু ক্ষেত্রে গ্রেডিয়েন্ট বংশদ্ভুত ব্যবহার করে সমাধানটি সন্ধান করার জন্য এটি গণনাগতভাবে সস্তা (দ্রুত) হয়।

আপনি যে সূত্রটি লিখেছেন তা দেখতে খুব সহজ, এমনকি গণনামূলকভাবে দেখায়, কারণ এটি কেবল ইউনিভারিয়েট ক্ষেত্রে ক্ষেত্রে কাজ করে, যখন আপনার কেবলমাত্র একটি পরিবর্তনশীল থাকে। বহুচলকীয় ক্ষেত্রে, আপনি অনেক ভেরিয়েবল আছে, সূত্র কাগজে সামান্য বেশি জটিল এবং প্রয়োজন অনেক বেশি গণনার যখন আপনি সফ্টওয়্যার তা বাস্তবায়ন: এখানে, আপনি ম্যাট্রিক্স গণনা করতে হবে তারপরে এটিকে দিন (নীচের নোটটি দেখুন)। এটি একটি ব্যয়বহুল হিসাব। আপনার রেফারেন্সের জন্য, (নকশা) ম্যাট্রিক্স এক্স-এর কে + 1 কলাম রয়েছে যেখানে কে অনুমানকারীদের সংখ্যা এবং পর্যবেক্ষণগুলির N সারি রয়েছে। মেশিন লার্নিং অ্যালগরিদমটিতে আপনি কে> 1000 এবং এন> 1,000,000 দিয়ে শেষ করতে পারেন। ম্যাট্রিক্স নিজেই গণনা করতে একটু সময় লাগে, তারপর আপনি invert আছেএক্স এক্স এক্স এক্স কে × কে

β=(XX)1XY
XXXXK×K ম্যাট্রিক্স - এটি ব্যয়বহুল।

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

অতিরিক্ত হিসাবে, গ্রেডিয়েন্ট বংশোদ্ভূত সংস্করণগুলি রয়েছে যখন আপনি মেমরিতে কেবলমাত্র আপনার ডেটার টুকরো রাখেন, কম্পিউটার মেমোরির প্রয়োজনীয়তাগুলি কম করে। সামগ্রিকভাবে, অতিরিক্ত বড় সমস্যার জন্য এটি লিনিয়ার বীজগণিত সমাধানের চেয়ে বেশি দক্ষ।

আপনার যখন মেশিন লার্নিংয়ের মতো হাজারো ভেরিয়েবল থাকে তখন এটি মাত্রা বৃদ্ধির সাথে সাথে আরও গুরুত্বপূর্ণ হয়ে ওঠে।

মন্তব্য । এনজি এর বক্তৃতাগুলিতে গ্রেডিয়েন্ট বংশোদ্ভূত দিকে কতটা মনোযোগ দেওয়া হচ্ছে তা দেখে আমি অবাক হয়েছি। তিনি এ বিষয়ে কথা বলার ক্ষেত্রে অযৌক্তিক সময় ব্যয় করেন, সম্ভবত পুরো কোর্সের 20%। আমার কাছে এটি কেবল একটি বাস্তবায়ন বিশদ, আপনি ঠিক কীভাবে সর্বোত্তমটি খুঁজে পান এটি। কীটি অপ্টিমাইজেশান সমস্যাটি তৈরি করতে এবং আপনি কীভাবে এটি সঠিকভাবে খুঁজে পেয়েছেন তা অযৌক্তিক। আমি এ নিয়ে খুব বেশি চিন্তা করব না। এটিকে কম্পিউটার বিজ্ঞানের লোকদের কাছে ছেড়ে দিন এবং একজন পরিসংখ্যানবিদ হিসাবে আপনার কাছে কী গুরুত্বপূর্ণ on

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

নোট 1 । আমি লিখেছিলাম যে আপনাকে ডেট্যাকটিক উদ্দেশ্যে ম্যাট্রিক্সটি উল্টাতে হবে এবং আপনি সাধারণত সমীকরণটি সমাধান করেন না এমনটি হয় না। অনুশীলনে, লিনিয়ার বীজগণিত সমস্যাগুলি QR এর মতো এক ধরণের ফ্যাক্টেরাইজেশন ব্যবহার করে সমাধান করা হয়, যেখানে আপনি সরাসরি ম্যাট্রিক্সটি উল্টান না তবে উত্তর পেতে কিছু অন্যান্য গাণিতিক সমতুল্য ম্যানিপুলেশন করেন। আপনি এটি করছেন কারণ ম্যাট্রিক্স বিপরীকরণ একটি ব্যয়বহুল এবং সংখ্যাগতভাবে অস্থির অপারেশন।

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


17
কিন্তু এনজি হয় একটি কম্পিউটার বিজ্ঞান ব্যক্তি।
অ্যামিবা

21
আপনার মন্তব্য সম্পর্কে: একজন গণিতবিদ হিসাবে, আমি সম্মত ছিলাম। তবে এখন আমার বোঝাপড়াটি হ'ল আধুনিক মেশিন লার্নিংয়ে, উদ্দেশ্যটি অপ্টিমাইজ হওয়ার সাথে সাথে অন্তর্নিহিত পদ্ধতিটি জড়িত। কিছু নিয়মিতকরণ যেমন ড্রপআউট, লক্ষ্যটির পরিবর্তে অ্যালগোরিদমের ক্ষেত্রে আরও পরিষ্কারভাবে প্রকাশ করা হয়। সংক্ষেপে: আপনি যদি গভীর নেট নেন, তবে উদ্দেশ্যমূলক ক্রিয়াটি রাখুন তবে অনুকূলিতকরণের পদ্ধতিটি পরিবর্তন করুন, আপনি খুব আলাদা পারফরম্যান্স পেতে পারেন। আসলে, কখনও কখনও একটি ভাল অপ্টিমাইজার অনুশীলনে খারাপ ফলাফল দেয় ...
এ। রেক্স

14
মাইনর nitpick: আপনি অবশ্যই না চাই invert ; এর পরিবর্তে আপনি চাই সমাধান রৈখিক সমীকরণ সিস্টেম জন্য । বিমূর্তভাবে, এটি একই, তবে সংখ্যার দিক থেকে এটি অনেক বেশি স্থিতিশীল এবং সম্ভাব্য এমনকি সস্তাও। এক্স এক্স β = এক্স ওয়াই βXXXXβ=Xyβ
স্টিফান কোলাসা

3
অন্যদিকে, কিউআর ফ্যাক্টেরাইজেশন সহ আন্ডারবিগুড়ি সলিউশন পিছিয়ে স্থিতিশীল, সুতরাং এটি একটি সমাধান সরবরাহ করে যা ইনপুট ডেটার অনিশ্চয়তার কারণে যথাসম্ভব নির্ভুল is
ফেদেরিকো পোলোনি

7
আমি মনে করি আমাদের সকলকে লেখা বন্ধ করা উচিত এবং সর্বদা লেখা উচিত। এক্স টি এক্স β = এক্স টি yβ=(XtX)1XtyXtXβ=Xty
ম্যাথু ড্রুরি

21

প্রথমত, আমি দৃ strongly়ভাবে আপনাকে নিম্নলিখিত দুটি পোস্ট পড়ার সুপারিশ করব (যদি নকল না হয়)

জেএম এর উত্তর চেক করুন

লিনিয়ার রিগ্রেশন কোন অ্যালগরিদম ব্যবহার করা হয়?

দয়া করে মার্কের উত্তরটি দেখুন (সংখ্যার স্থায়িত্বের দৃষ্টিকোণ থেকে) এর মধ্যে

লিনিয়ার রিগ্রেশন মডেলের সহগগুলি খুঁজে পেতে কি আমাদের গ্রেডিয়েন্ট বংশোদ্ভূত দরকার?


সংক্ষেপে বলতে গেলে, ধরুন আমরা স্কোয়ারড ক্ষতি সঙ্গে রৈখিক রিগ্রেশনের সমস্যা সমাধান করতে চান আমরা ব্যুৎপন্ন সেট করতে পারেন থেকে , এবং এটি সমাধানে হয় রৈখিক সিস্টেম

minimize Axb2
2AT(Axb)0
ATAx=ATb

উচ্চ স্তরে, লিনিয়ার সিস্টেমটি সমাধান করার দুটি উপায় রয়েছে। প্রত্যক্ষ পদ্ধতি এবং পুনরাবৃত্তি পদ্ধতি। দ্রষ্টব্য প্রত্যক্ষ পদ্ধতিটি , এবং গ্রেডিয়েন্ট বংশোদ্ভূত (একটি উদাহরণ পুনরাবৃত্ত পদ্ধতি) সরাসরি সমাধান করছে ।ATAx=ATbminimize Axb2

সরাসরি পদ্ধতির সাথে তুলনা ( QR / LU পচন বলুন )। যখন আমাদের কাছে প্রচুর পরিমাণে ডেটা থাকে বা ডেটা খুব কম থাকে তখন আইট্রেটিভ পদ্ধতির কিছু সুবিধা থাকে।

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


তুমি একদম সঠিক. প্রচুর পরিমাণে ডেটা হ্যান্ডেল করার সময় এসজিডি খুব সহায়ক। অধ্যাপক এনজিও পদ্ধতিটি সবচেয়ে ক্লাসিক এবং খাঁটি demonst একটি পরিষ্কার ধারণা আছে যে এক বিন্দু থেকে শুরু করা উচিত। যদি কেউ এর মূলমন্ত্রটি বুঝতে পারে তবে সম্পূর্ণ রৈখিক অনুমান তার কাছে স্ফটিক স্বচ্ছ হবে।
সন্দিপন কর্মকার

1
ম্যাক্সট্রিক্সের আকারটি আসলে কোনও সমস্যা নয়, সম্পর্ক ব্যবহার করে ; আপনি একবারে এবং এক পর্যবেক্ষণ গণনা করতে পারেন can আজকের দিনে কম্পিউটার মেমোরিটি অনেক বেশি সীমাবদ্ধ থাকাকালীন সময়ে এটি এসএএস-এ করা হয়েছিল। এটি কলামগুলির সংখ্যা যা সীমিতকরণের কারণ। XTX=xixiTXTXXTyX
জবম্যান

6

সাইকোরাক্স সঠিক যে লিনিয়ার রিগ্রেশন অনুমান করার সময় আপনার গ্রেডিয়েন্ট বংশোদ্ভূত হওয়ার দরকার নেই। আপনার কোর্সটি সম্ভবত আরও জটিল সংস্করণের উপস্থাপনের জন্য গ্রেডিয়েন্ট বংশোদ্ভূত শেখানোর জন্য একটি সাধারণ উদাহরণ ব্যবহার করছে।

একটি পরিষ্কার জিনিস আমি যুক্ত করতে চাই, তবে এটি হ'ল একটি মডেলটির অত্যধিক মানসিক চাপ প্রতিরোধ করার জন্য প্রাথমিকভাবে গ্রেডিয়েন্ট বংশদ্ভুত সমাপ্তকরণ সম্পর্কিত একটি ছোট গবেষণা রয়েছে research


2
ওভারফিটিং স্টেটমেন্টের জন্য, আপনি কি লিঙ্কটি সরবরাহ করতে পারেন? পুনরাবৃত্তির সংখ্যাকে সীমাবদ্ধ করার চেয়ে নিয়মিতকরণ পদটি আরও ভালভাবে যুক্ত করা হচ্ছে?
হাইতাও ডু

আপনি গুডফেলো এট আল দ্বারা ডিপ লার্নিংয়ের Chapter ম অধ্যায়টি দেখতে পেয়েছিলেন, যা স্নায়ু জালগুলিতে অতিরিক্ত চাপ প্রতিরোধ করার জন্য প্রাথমিক পর্যায়ে থামার কথা উল্লেখ করেছে।
ব্যাটম্যান

2
তাড়াতাড়ি থামিয়ে নিয়মিতকরণ কোনওভাবেই কোনও নতুন কৌশল নয়; : এটা, বলে একটি সুপরিচিত কৌশল, Landweber পুনরাবৃত্তির এর en.wikipedia.org/wiki/Landweber_iteration
CFH

3

যদি আমি ভুল না হয়, আমি মনে করি আপনি প্রফেসর অ্যান্ড্রু এনজি দ্বারা প্রদত্ত এমওইউসিটির দিকে নির্দেশ করছেন। অনুকূল রিগ্রেশন সহগ খুঁজে পেতে, মোটামুটি দুটি পদ্ধতি উপলব্ধ। একটি হ'ল সাধারণ সমীকরণগুলি ব্যবহার করে অর্থাত সন্ধান করে এবং দ্বিতীয়টি সর্বনিম্ন হ্রাস দ্বারা বর্গক্ষেত্রের মাপদণ্ড যা আপনি উদ্ধৃত করেছেন অনুমান থেকে প্রাপ্ত। যাইহোক, প্রথম পদ্ধতি অর্থাৎ সাধারণ সমীকরণগুলি হ'ল দ্বিতীয় পদ্ধতির একটি পণ্য অর্থাৎ অপটিমাইজেশন পদ্ধতির।(XTX)1XTy

আপনি যে পদ্ধতিটি উল্লেখ করেছেন অর্থাৎ পারস্পরিক সম্পর্ক ব্যবহার করে, এটি কেবলমাত্র একজন ভবিষ্যদ্বাণীকারী এবং একটি ইন্টারসেপ্ট পরিমাণের জন্য প্রযোজ্য। শুধু ফর্ম লক্ষ্য করা। সুতরাং, যখন ভবিষ্যদ্বাণীকারী সংখ্যা সংখ্যায় একাধিক হয় তবে এর উপায় কী? তারপরে একজনকে অন্য পদ্ধতিগুলি যেমন সাধারণ সমীকরণ বা অপ্টিমাইজেশান অবলম্বন করতে হয়।

এখন কেন অপ্টিমাইজেশন (এখানে গ্রেডিয়েন্ট বংশদ্ভুত) যদিও সরাসরি সাধারণ সমীকরণ উপলব্ধ। লক্ষ্য করুন যে সাধারণ সমীকরণে ম্যাট্রিক্সকে উল্টাতে হয়। এখন গণনার জন্য একটি ম্যাট্রিক্স যেখানে ম্যাট্রিক্স অর্থাৎ পর্যবেক্ষণগুলিতে সারি সংখ্যা । তদুপরি, যদি ill অসুস্থ শর্তাধীন থাকে তবে এটি অনুমানের ক্ষেত্রে গণনামূলক ত্রুটি তৈরি করবে। সুতরাং, এটি গ্রেডিয়েন্ট বংশোদ্ভূত ধরণের অপটিমাইজেশন অ্যালগরিদম যা এই ধরণের সমস্যা থেকে আমাদের বাঁচাতে পারে। আর একটি সমস্যা হ'ল রিগ্রেশন কোঅফিসিয়েন্টগুলির অনুমানের তুলনায় ওভারফিট underO(N3)NXX

আপনার কাছে আমার পরামর্শটি কেবল কোনও সমস্যার সমাধান করার জন্য নয়। তত্ত্বটি বোঝার চেষ্টা করুন। প্রফেসর এনজি এই বিশ্বের অন্যতম সেরা অধ্যাপক যিনি দয়া করে এমইউসি-তে মেশিন লার্নিং শেখান। সুতরাং, যখন তিনি এই পদ্ধতিতে নির্দেশ দিচ্ছেন তখন অবশ্যই এর কিছু সুপ্ত উদ্দেশ্য থাকতে হবে। আমি আশা করি আপনি আমার কথায় আপত্তি করবেন না।

শুভকামনা.


5
"একটি ম্যাট্রিক্স ইনভার্টিং" জোরালোভাবে সুপারিশ করা হয় না। লিনিয়ার সিস্টেমটি সমাধান করার জন্য কিউআর আরও সংখ্যাগতভাবে স্থিতিশীল।
হাইতাও ডু

1
আমি গণনা যুক্তি সঙ্গে একমত। যাইহোক, জিডি বনাম সাধারণ সমীকরণ ব্যবহারের সাথে অতিরিক্ত বা আন্ডারফিটিংয়ের কোনও সম্পর্ক নেই, বরং (রিগ্রেশন) মডেলের জটিলতার সাথে। উভয় পদ্ধতি (জিডি যদি এটি সঠিকভাবে কাজ করে) একই সর্বনিম্ন-স্কোয়ার সমাধান (যদি এটি বিদ্যমান থাকে) সন্ধান করে এবং অতএব একই পরিমাণে ডেটাকে অতিরিক্ত-বা কম করে ফিট করে।
রুবেন ভ্যান বার্গেন

2

প্রথম, হ্যাঁ, আসল কারণটি টিম অ্যাট্রেইডসের দেওয়া; এটি একটি শিক্ষাগত অনুশীলন।

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

(এক, লিনিয়ার রিগ্রেশন জন্য, পুনরাবৃত্তি সিস্টেম হিসাবে বিশ্লেষণাত্মক সমাধানটিকে সংশোধন করতে পারে, তবে এটি সাধারণ কৌশল নয়))


2

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

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