মডেল-বিল্ডিং প্রক্রিয়া ইন্টারেক্টিভ ছিল যখন ব্যাক-টেস্টিং বা ক্রস-বৈধকরণ valid


9

আমার কাছে কিছু ভবিষ্যদ্বাণীপূর্ণ মডেল রয়েছে যার পারফরম্যান্সটি আমি ব্যাক-টেস্ট করতে চাই (অর্থাত, আমার ডেটাসেটটি নিতে, এটি সময়ের সাথে পূর্ববর্তী সময়ে "রিওয়াইন্ড করুন" এবং দেখুন মডেলটি কীভাবে সম্ভাব্য পারফরম্যান্স করত)।

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

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

আমি (ক) মডেল-বিল্ডিং প্রক্রিয়াটির ইন্টারেক্টিভ অংশগুলিকে স্বয়ংক্রিয় করার সাধারণ সমস্যার, বা (খ) এই দুটি ক্ষেত্রে সুনির্দিষ্ট পরামর্শের উভয়ই পরামর্শ এবং সমাধানগুলির প্রশংসা করব। ধন্যবাদ!

উত্তর:


4

এফওয়াইআই, এটি এসই ডেটা সায়েন্সের পক্ষে আরও উপযুক্ত হতে পারে তবে আপাতত আমি এখানে এটার উত্তর দেব।

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

বিস্তৃতভাবে বলতে গেলে, মনে হচ্ছে আপনার কয়েকটি বিভিন্ন আইটেম রয়েছে যা এটিকে বাস্তবায়নের জন্য আপনাকে সমাধান করতে হবে।

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

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

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

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

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


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

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


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

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

3

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


কেন স্বয়ংক্রিয় টিউনিং (প্রতিটি ব্যাকটেস্ট সময় পয়েন্টে পৃথক টিউনিং চালানো) "সত্যিকারের সৎ ব্যাকটেস্ট পরিবেশ" হবে না?
বেন কুহান

দুর্ভাগ্যক্রমে স্প্লাইসগুলি বাদ দিয়ে বৈচিত্র্য হ্রাস করা ভবিষ্যদ্বাণীমূলক শক্তিতে একটি অগ্রহণযোগ্য ক্ষতি হতে পারে। আপনি যখন লো-ভেরিয়েন্স লার্নার ব্যবহারের পরামর্শ দিয়েছিলেন তখন কি আপনি সেই বিষয়ে ভাবছিলেন? তা না হলে আপনি কী ভাবছিলেন?
বেন কুহান

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

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

1
এবং ফিনান্স হিসাবে গোলমাল হিসাবে একটি ডোমেনে, আপনি নিশ্চিত করতে চান যে ইতিহাস যদি অন্যরকমভাবে প্রকাশিত হয় (তবে এখনও কিছু অন্তর্নিহিত বিতরণ থেকে আঁকা) আপনি এখনও একই ধরণের মডেলটিতে পৌঁছতে পারেন। আপনি যদি বিশ্বাস করেন যে আপনার প্রক্রিয়াটি আপনি ভাল বলে মনে করেন তার চেয়ে বেশি নমুনার নমুনা শক্তিশালী। তবে আমার অভিজ্ঞতায় অটোমেটেড টিউনিং পদ্ধতিগুলি নমুনা বৈকল্পিকের জন্য খুব সংবেদনশীল হতে পারে।
অ্যান্ড্রু
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.