ML ডেভেলপারদের কাছে ডেটা যতটা গুরুত্বপূর্ণ ততটাই কোড প্রথাগত প্রোগ্রামারদের কাছে। এই পাঠটি আপনার ডেটা সম্পর্কে আপনাকে যে ধরণের প্রশ্ন জিজ্ঞাসা করা উচিত তার উপর ফোকাস করে।
ভিডিও লেকচার সারাংশ
একটি ML সিস্টেমের আচরণ তার ইনপুট বৈশিষ্ট্যের আচরণ এবং গুণাবলীর উপর নির্ভর করে। এই বৈশিষ্ট্যগুলির জন্য ইনপুট ডেটা যেমন পরিবর্তিত হয়, তেমনি আপনার মডেলও পরিবর্তন হবে। কখনও কখনও সেই পরিবর্তনটি কাম্য, তবে কখনও কখনও তা হয় না।
ঐতিহ্যগত সফ্টওয়্যার বিকাশে, আপনি ডেটার চেয়ে কোডে বেশি ফোকাস করেন। মেশিন লার্নিং ডেভেলপমেন্টে, যদিও কোডিং এখনও কাজের অংশ, তবে ডেটা অন্তর্ভুক্ত করার জন্য আপনার ফোকাসকে প্রশস্ত করতে হবে। উদাহরণস্বরূপ, ঐতিহ্যগত সফ্টওয়্যার উন্নয়ন প্রকল্পগুলিতে, আপনার কোড যাচাই করার জন্য ইউনিট পরীক্ষা লেখার জন্য এটি একটি সর্বোত্তম অনুশীলন। এমএল প্রকল্পগুলিতে, আপনাকে অবশ্যই আপনার ইনপুট ডেটা ক্রমাগত পরীক্ষা, যাচাই এবং নিরীক্ষণ করতে হবে।
উদাহরণস্বরূপ, অব্যবহৃত (বা অল্প ব্যবহৃত) বৈশিষ্ট্যগুলি সরাতে আপনার মডেলটিকে ক্রমাগত পর্যবেক্ষণ করা উচিত। একটি নির্দিষ্ট বৈশিষ্ট্য কল্পনা করুন যা মডেলটিতে সামান্য বা কিছুই অবদান রাখছে না। যদি সেই বৈশিষ্ট্যের জন্য ইনপুট ডেটা হঠাৎ পরিবর্তিত হয়, তাহলে আপনার মডেলের আচরণও হঠাৎ করে অনাকাঙ্ক্ষিত উপায়ে পরিবর্তিত হতে পারে।
নির্ভরযোগ্যতা
আপনার ইনপুট ডেটার নির্ভরযোগ্যতা সম্পর্কে জিজ্ঞাসা করার জন্য কিছু প্রশ্ন:
- সংকেত কি সর্বদা উপলব্ধ হবে নাকি এটি একটি অবিশ্বস্ত উৎস থেকে আসছে? উদাহরণ স্বরূপ:
- একটি সার্ভার থেকে সংকেত আসছে যে ভারী লোড অধীনে ক্র্যাশ?
- মানুষের কাছ থেকে কি সংকেত আসছে যে প্রতি আগস্টে ছুটিতে যায়?
সংস্করণ করা
সংস্করণ সম্পর্কে জিজ্ঞাসা করার জন্য কিছু প্রশ্ন:
- যে সিস্টেম এই ডেটা গণনা করে তা কি কখনও পরিবর্তন হয়? যদি তাই:
- কত ঘনঘন?
- সেই ব্যবস্থার পরিবর্তন হলে আপনি কীভাবে জানবেন?
কখনও কখনও, ডেটা একটি আপস্ট্রিম প্রক্রিয়া থেকে আসে। যদি সেই প্রক্রিয়াটি আকস্মিকভাবে পরিবর্তিত হয়, তাহলে আপনার মডেল ক্ষতিগ্রস্ত হতে পারে।
আপস্ট্রিম প্রক্রিয়া থেকে আপনি যে ডেটা পাবেন তার নিজের কপি তৈরি করার কথা বিবেচনা করুন। তারপর, শুধুমাত্র আপস্ট্রিম ডেটার পরবর্তী সংস্করণে অগ্রসর হন যখন আপনি নিশ্চিত হন যে এটি করা নিরাপদ।
প্রয়োজনীয়তা
নিম্নলিখিত প্রশ্ন আপনাকে নিয়মিতকরণের কথা মনে করিয়ে দিতে পারে:
- বৈশিষ্ট্যটির উপযোগিতা কি এটি অন্তর্ভুক্ত করার খরচকে সমর্থন করে?
মডেলটিতে আরও বৈশিষ্ট্য যুক্ত করার জন্য এটি সর্বদা লোভনীয়। উদাহরণস্বরূপ, ধরুন আপনি একটি নতুন বৈশিষ্ট্য খুঁজে পেয়েছেন যার সংযোজন আপনার মডেলটিকে আরও নির্ভুল করে তোলে। আরও নির্ভুলতা অবশ্যই কম নির্ভুলতার চেয়ে ভাল শোনাচ্ছে । যাইহোক, এখন আপনি আপনার রক্ষণাবেক্ষণের বোঝা যোগ করেছেন। এই অতিরিক্ত বৈশিষ্ট্যটি অপ্রত্যাশিতভাবে হ্রাস পেতে পারে, তাই আপনাকে এটি নিরীক্ষণ করতে হবে। স্বল্পমেয়াদী জয়ের দিকে পরিচালিত করে এমন বৈশিষ্ট্যগুলি যোগ করার আগে সাবধানে চিন্তা করুন।
পারস্পরিক সম্পর্ক
কিছু বৈশিষ্ট্য অন্যান্য বৈশিষ্ট্যের সাথে (ইতিবাচক বা নেতিবাচক) সম্পর্কযুক্ত। নিজেকে নিম্নলিখিত প্রশ্ন জিজ্ঞাসা করুন:
- কোনো বৈশিষ্ট্য কি এতটাই একসাথে বাঁধা আছে যে তাদের আলাদা করার জন্য আপনার অতিরিক্ত কৌশল প্রয়োজন?
ফিডব্যাক লুপ
কখনও কখনও একটি মডেল তার নিজস্ব প্রশিক্ষণ ডেটা প্রভাবিত করতে পারে। উদাহরণ স্বরূপ, কিছু মডেলের ফলাফল, একই মডেলে প্রত্যক্ষ বা পরোক্ষভাবে ইনপুট বৈশিষ্ট্য।
কখনও কখনও একটি মডেল অন্য মডেল প্রভাবিত করতে পারে. উদাহরণস্বরূপ, স্টক মূল্যের পূর্বাভাস দেওয়ার জন্য দুটি মডেল বিবেচনা করুন:
- মডেল A, যা একটি খারাপ ভবিষ্যদ্বাণীমূলক মডেল।
- মডেল বি.
যেহেতু মডেল এ বগি, তাই এটি ভুলবশত স্টক এক্স-এ স্টক কেনার সিদ্ধান্ত নেয়৷ এই ক্রয়গুলি স্টক এক্স-এর দাম বাড়িয়ে দেয়৷ মডেল বি স্টক এক্স-এর দামকে একটি ইনপুট বৈশিষ্ট্য হিসাবে ব্যবহার করে, তাই মডেল বি সহজেই কিছু মিথ্যা সিদ্ধান্তে আসতে পারে স্টক এক্স স্টকের মান। মডেল বি, তাই, মডেল A-এর বগি আচরণের উপর ভিত্তি করে স্টক X-এর শেয়ার কিনতে বা বিক্রি করতে পারে। মডেল B-এর আচরণ, মডেল A-কে প্রভাবিত করতে পারে, সম্ভবত টিউলিপ ম্যানিয়া বা কোম্পানি X-এর স্টকে একটি স্লাইড সৃষ্টি করতে পারে।