ব্যাচ এবং স্বতন্ত্র আপডেটের মধ্যে এমএলপিতে নিয়মিতকরণের কোনও পার্থক্য?


9

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

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

আপডেটের মেয়াদে আমার কাছে থাকা সূত্রটি (কোর্সেরা এমএল কোর্স থেকে) ব্যাচের আপডেট হিসাবে বলা হয়েছে যেমন প্রতিটি ওজনের জন্য ত্রুটি প্রচার থেকে পুরো প্রশিক্ষণের জন্য প্রযোজ্য ডেল্টা সংমিশ্রনের পরে, সমন্বয়ের lambda * current_weightপূর্বেও একটি সমন্বয় যুক্ত করা হয় বেল্টের শেষে ডেল্টা বিয়োগ করা হয়, যেখানে lambdaনিয়মিতকরণ পরামিতি ter

আমার ব্যাকপ্র্যাগেশন বাস্তবায়ন প্রতি আইটেম ওজন আপডেট ব্যবহার করে। আমি উদ্বিগ্ন যে আমি কেবল ব্যাচের পদ্ধতির অনুলিপি করতে পারি না, যদিও এটি আমার কাছে স্বজ্ঞাতভাবে ঠিক আছে। আইটেম প্রতি একটি ছোট নিয়মিত পদ এছাড়াও কাজ করে?

উদাহরণস্বরূপ lambda * current_weight / Nযেখানে এন প্রশিক্ষণের আকার সেট - প্রথম নজরে এটি যুক্তিযুক্ত বলে মনে হয়। যদিও আমি এই বিষয়ে কিছুই খুঁজে পাইনি এবং আমি অবাক হয়েছি যে এটি কারণ হ'ল নিয়মিতকরণ প্রতি আইটেম আপডেটের পাশাপাশি কাজ করে না, বা এমনকি কোনও আলাদা নাম বা পরিবর্তিত সূত্রে চলে।

উত্তর:


2

নিয়মিতকরণ প্রতি আইটেম শেখার ক্ষেত্রেও প্রাসঙ্গিক। আপনি ব্যাচ করছেন বা প্রতি-আইটেম লার্নিং, লাম্বদা খুঁজে পাওয়ার জন্য একটি প্রাথমিক বৈধতা পদ্ধতির সাথে শুরু করার পরামর্শ দেব। এটি সবচেয়ে সহজ এবং নিরাপদ পদ্ধতি। ম্যানুয়ালি বিভিন্ন মান সহ একটি সংখ্যা চেষ্টা করুন। যেমন 0.001। 0.003, 0.01, 0.03, 0.1 ইত্যাদি এবং আপনার বৈধতা সেটটি কীভাবে আচরণ করে তা দেখুন। পরে আপনি লিনিয়ার বা স্থানীয় অনুসন্ধান পদ্ধতি প্রবর্তন করে এই প্রক্রিয়াটি স্বয়ংক্রিয় করতে পারেন।

পার্শ্ব নোট হিসাবে, আমি বিশ্বাস করি যে প্রশিক্ষণের সেট আকারের চেয়ে ল্যাম্বদার মানটি প্যারামিটার ভেক্টরের আপডেটগুলির সাথে বিবেচনা করা উচিত। ব্যাচ প্রশিক্ষণের জন্য আপনার প্রতি ডেটাसेट পাসের জন্য একটি প্যারামিটার আপডেট রয়েছে , যখন অনলাইনে নমুনা প্রতি এক আপডেটের জন্য (প্রশিক্ষণের সেটের আকার নির্বিশেষে)।

আমি সম্প্রতি এই ক্রসওলিওয়েটেড প্রশ্নে হোঁচট খেয়েছি , যা আপনার সাথে বেশ মিল রয়েছে। কিছু প্রাসঙ্গিক সামগ্রী সহ একটি নতুন এসজিডি অ্যালগরিদম সম্পর্কে একটি কাগজের লিঙ্ক রয়েছে । একবার দেখে নেওয়া কার্যকর হতে পারে (বিশেষত পৃষ্ঠা 1742-1743)।


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

নিয়মিতকরণ প্রতি আইটেম শেখার ক্ষেত্রেও প্রাসঙ্গিক। আমি তখনও ল্যাম্বদা সন্ধানের জন্য একটি মৌলিক বৈধতা পদ্ধতির সাথে শুরু করার পরামর্শ দেব। এটি সবচেয়ে সহজ এবং নিরাপদ পদ্ধতি। ম্যানুয়ালি বিভিন্ন মান সহ একটি সংখ্যা চেষ্টা করুন। যেমন 0.001। 0.003, 0.01, 0.03, 0.1 ইত্যাদি এবং আপনার বৈধতা সেটটি কীভাবে আচরণ করে তা দেখুন। পরে আপনি লিনিয়ার বা স্থানীয় অনুসন্ধান পদ্ধতি প্রবর্তন করে এই প্রক্রিয়াটি স্বয়ংক্রিয় করতে পারেন।
insys

যদি উপরে আপনার মন্তব্যটি সম্পাদনা করা হয় এবং আপনার উত্তরটিতে প্রথম বাক্য / প্রশ্নটি প্রতিস্থাপন করা হয় তবে আমি মনে করি আমি এটি গ্রহণ করতে পারি।
নিল স্লেটার

নির্দেশ করার জন্য ধন্যবাদ, আমি সম্মত। এটি সম্পাদনা করেছেন Hope আশা করি এটি আরও পরিষ্কার।
insys

2

অন্তর্দৃষ্টি যা বলেছেন তা পরিপূরক করতে :

আপনার এমএলপিতে সমস্ত ওজনের জন্য ব্যাকপ্রসারণের গণনা করার সময় নিয়মিতকরণ ব্যবহৃত হয়। অতএব, প্রশিক্ষণ সেট ( batch) এর সমস্ত ইনপুট সম্পর্কিত গ্রেডিয়েন্টটি গণনা করার পরিবর্তে আপনি কেবল কয়েকটি / একটি আইটেম (গুলি) ব্যবহার করুন stochastic or semi-stochastic। আপনি সঠিক হিসাবে সমস্ত আইটেম পরিবর্তে একটি আইটেম সংক্রান্ত আপডেট ফলাফল সীমাবদ্ধ শেষ হবে।

এছাড়াও, যদি আমি সঠিকভাবে মনে করি তবে অ্যান্ড্রু এনজি ব্যবহার করেছেন L2-regularization/Nমধ্যে lambda * current_weight / Nবাধ্যতামূলক নয়, এটা ঠিক ইনপুট rescaling সাহায্য করে। তবে আপনি যদি এটি ব্যবহার না করা চয়ন করেন তবে আপনার (বেশিরভাগ ক্ষেত্রে) এর জন্য অন্য মানটি নির্বাচন করতে হবে lambda

আপনি গ্রিড-অনুসন্ধান অ্যালগরিদমও ব্যবহার করতে পারেন lambda( হাইপারপ্যারামিটার => আপনার যেটি বেছে নিতে হবে) এর জন্য সেরা মানটি চয়ন করতে।

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