29 KiB
মেশিন লার্নিং এর কৌশলসমূহ
মেশিন লার্নিং মডেল তৈরি, ব্যবহার এবং রক্ষণাবেক্ষণের প্রক্রিয়া এবং এই মডেলগুলোর জন্য ব্যবহৃত ডেটা অন্যান্য ডেভেলপমেন্ট ওয়ার্কফ্লো থেকে অনেকটাই আলাদা। এই পাঠে, আমরা এই প্রক্রিয়াকে সহজবোধ্য করব এবং প্রধান কৌশলগুলো তুলে ধরব যা আপনাকে জানতে হবে। আপনি:
- উচ্চ পর্যায়ে মেশিন লার্নিং এর প্রক্রিয়াগুলো বুঝতে পারবেন।
- 'মডেল', 'প্রেডিকশন', এবং 'ট্রেনিং ডেটা' এর মতো মৌলিক ধারণাগুলো অন্বেষণ করবেন।
পূর্ব-পাঠ কুইজ
🎥 উপরের ছবিতে ক্লিক করুন এই পাঠের একটি সংক্ষিপ্ত ভিডিও দেখার জন্য।
ভূমিকা
উচ্চ পর্যায়ে, মেশিন লার্নিং (ML) প্রক্রিয়া তৈরি করার কাজটি কয়েকটি ধাপে বিভক্ত:
- প্রশ্ন নির্ধারণ করুন। বেশিরভাগ ML প্রক্রিয়া এমন একটি প্রশ্ন দিয়ে শুরু হয় যা একটি সাধারণ শর্তযুক্ত প্রোগ্রাম বা নিয়ম-ভিত্তিক ইঞ্জিন দ্বারা উত্তর দেওয়া যায় না। এই প্রশ্নগুলো সাধারণত ডেটার উপর ভিত্তি করে প্রেডিকশন নিয়ে গঠিত।
- ডেটা সংগ্রহ এবং প্রস্তুত করুন। আপনার প্রশ্নের উত্তর দিতে, আপনাকে ডেটা প্রয়োজন। আপনার ডেটার গুণমান এবং কখনও কখনও পরিমাণ নির্ধারণ করবে আপনি আপনার প্রাথমিক প্রশ্ন কতটা ভালোভাবে উত্তর দিতে পারবেন। ডেটা ভিজ্যুয়ালাইজ করা এই ধাপের একটি গুরুত্বপূর্ণ অংশ। এই ধাপে ডেটাকে ট্রেনিং এবং টেস্টিং গ্রুপে ভাগ করাও অন্তর্ভুক্ত।
- ট্রেনিং পদ্ধতি নির্বাচন করুন। আপনার প্রশ্ন এবং ডেটার প্রকৃতির উপর নির্ভর করে, আপনাকে একটি মডেল ট্রেন করার পদ্ধতি নির্বাচন করতে হবে যা আপনার ডেটাকে সঠিকভাবে প্রতিফলিত করে এবং এর উপর ভিত্তি করে সঠিক প্রেডিকশন করতে পারে। এই অংশটি বিশেষজ্ঞ জ্ঞান এবং প্রায়ই উল্লেখযোগ্য পরিমাণে পরীক্ষার প্রয়োজন।
- মডেল ট্রেন করুন। আপনার ট্রেনিং ডেটা ব্যবহার করে, আপনি বিভিন্ন অ্যালগরিদম ব্যবহার করে একটি মডেল ট্রেন করবেন যা ডেটার প্যাটার্নগুলো চিনতে পারে। মডেলটি অভ্যন্তরীণ ওজন ব্যবহার করতে পারে যা ডেটার নির্দিষ্ট অংশগুলোকে অগ্রাধিকার দিতে সামঞ্জস্য করা যায়।
- মডেল মূল্যায়ন করুন। আপনার সংগ্রহ করা সেট থেকে আগে কখনও দেখা না হওয়া ডেটা (আপনার টেস্টিং ডেটা) ব্যবহার করে দেখুন মডেলটি কেমন পারফর্ম করছে।
- প্যারামিটার টিউনিং। আপনার মডেলের পারফরম্যান্সের উপর ভিত্তি করে, আপনি বিভিন্ন প্যারামিটার বা ভেরিয়েবল ব্যবহার করে প্রক্রিয়াটি পুনরায় করতে পারেন যা মডেল ট্রেন করার জন্য ব্যবহৃত অ্যালগরিদমের আচরণ নিয়ন্ত্রণ করে।
- প্রেডিকশন করুন। নতুন ইনপুট ব্যবহার করে আপনার মডেলের সঠিকতা পরীক্ষা করুন।
কোন প্রশ্ন করবেন
কম্পিউটার ডেটার মধ্যে লুকানো প্যাটার্ন আবিষ্কার করতে বিশেষভাবে দক্ষ। এই দক্ষতা গবেষকদের জন্য খুবই সহায়ক যারা একটি নির্দিষ্ট বিষয়ে এমন প্রশ্ন করেন যা শর্তযুক্ত নিয়ম ইঞ্জিন তৈরি করে সহজে উত্তর দেওয়া যায় না। উদাহরণস্বরূপ, একটি অ্যাকচুয়ারিয়াল কাজের ক্ষেত্রে, একজন ডেটা বিজ্ঞানী ধূমপায়ী বনাম অ-ধূমপায়ীদের মৃত্যুহারের চারপাশে হাতে তৈরি নিয়ম তৈরি করতে পারেন।
যখন অনেক অন্যান্য ভেরিয়েবল সমীকরণে যুক্ত হয়, তখন একটি ML মডেল অতীত স্বাস্থ্য ইতিহাসের উপর ভিত্তি করে ভবিষ্যতের মৃত্যুহার প্রেডিক্ট করতে আরও দক্ষ হতে পারে। একটি আরও আনন্দদায়ক উদাহরণ হতে পারে একটি নির্দিষ্ট স্থানের জন্য এপ্রিল মাসের আবহাওয়ার পূর্বাভাস তৈরি করা, যেখানে ডেটা অন্তর্ভুক্ত করে অক্ষাংশ, দ্রাঘিমাংশ, জলবায়ু পরিবর্তন, সমুদ্রের নিকটবর্তীতা, জেট স্ট্রিমের প্যাটার্ন এবং আরও অনেক কিছু।
✅ এই স্লাইড ডেক আবহাওয়া মডেলগুলোর জন্য ML ব্যবহারের একটি ঐতিহাসিক দৃষ্টিভঙ্গি প্রদান করে।
মডেল তৈরির পূর্ববর্তী কাজ
আপনার মডেল তৈরি শুরু করার আগে, কয়েকটি কাজ সম্পন্ন করতে হবে। আপনার প্রশ্ন পরীক্ষা করতে এবং একটি মডেলের প্রেডিকশনের উপর ভিত্তি করে একটি হাইপোথিসিস তৈরি করতে, আপনাকে কয়েকটি উপাদান চিহ্নিত এবং কনফিগার করতে হবে।
ডেটা
আপনার প্রশ্নের উত্তর নিশ্চিতভাবে দিতে, আপনাকে সঠিক ধরনের পর্যাপ্ত ডেটা প্রয়োজন। এই পর্যায়ে আপনাকে দুটি কাজ করতে হবে:
- ডেটা সংগ্রহ করুন। ডেটা বিশ্লেষণে ন্যায্যতার উপর পূর্ববর্তী পাঠটি মনে রেখে, আপনার ডেটা যত্ন সহকারে সংগ্রহ করুন। এই ডেটার উৎস, এর অন্তর্নিহিত পক্ষপাত এবং এর উৎপত্তি নথিভুক্ত করুন।
- ডেটা প্রস্তুত করুন। ডেটা প্রস্তুতির প্রক্রিয়ায় কয়েকটি ধাপ রয়েছে। যদি এটি বিভিন্ন উৎস থেকে আসে, তাহলে আপনাকে ডেটা একত্রিত এবং স্বাভাবিকীকরণ করতে হতে পারে। বিভিন্ন পদ্ধতির মাধ্যমে ডেটার গুণমান এবং পরিমাণ উন্নত করা যায়, যেমন স্ট্রিংকে সংখ্যায় রূপান্তর করা (যেমন আমরা ক্লাস্টারিং এ করি)। আপনি মূল ডেটার উপর ভিত্তি করে নতুন ডেটা তৈরি করতে পারেন (যেমন আমরা ক্লাসিফিকেশন এ করি)। আপনি ডেটা পরিষ্কার এবং সম্পাদনা করতে পারেন (যেমন আমরা ওয়েব অ্যাপ পাঠের আগে করব)। অবশেষে, আপনার ট্রেনিং কৌশলের উপর নির্ভর করে, আপনাকে এটি র্যান্ডমাইজ এবং শাফল করতে হতে পারে।
✅ ডেটা সংগ্রহ এবং প্রক্রিয়াকরণের পরে, একটি মুহূর্ত নিন এবং দেখুন এর আকৃতি আপনার উদ্দেশ্যপ্রাপ্ত প্রশ্নের উত্তর দিতে সক্ষম হবে কিনা। হতে পারে ডেটা আপনার নির্দিষ্ট কাজের জন্য ভালো পারফর্ম করবে না, যেমন আমরা আমাদের ক্লাস্টারিং পাঠে আবিষ্কার করি!
ফিচার এবং টার্গেট
একটি ফিচার হলো আপনার ডেটার একটি পরিমাপযোগ্য বৈশিষ্ট্য। অনেক ডেটাসেটে এটি একটি কলাম শিরোনাম হিসেবে প্রকাশিত হয়, যেমন 'তারিখ', 'আকার' বা 'রঙ'। আপনার ফিচার ভেরিয়েবল, সাধারণত কোডে X দ্বারা প্রতিনিধিত্ব করা হয়, ইনপুট ভেরিয়েবলকে উপস্থাপন করে যা মডেল ট্রেন করতে ব্যবহৃত হবে।
একটি টার্গেট হলো আপনি যা প্রেডিক্ট করার চেষ্টা করছেন। টার্গেট, সাধারণত কোডে y দ্বারা প্রতিনিধিত্ব করা হয়, আপনার ডেটার উপর ভিত্তি করে আপনি যে প্রশ্নটি করতে চান তার উত্তর উপস্থাপন করে: ডিসেম্বর মাসে কোন রঙের কুমড়া সবচেয়ে সস্তা হবে? সান ফ্রান্সিসকোতে কোন এলাকাগুলোতে রিয়েল এস্টেটের মূল্য সবচেয়ে ভালো হবে? কখনও কখনও টার্গেটকে লেবেল অ্যাট্রিবিউটও বলা হয়।
আপনার ফিচার ভেরিয়েবল নির্বাচন করুন
🎓 ফিচার সিলেকশন এবং ফিচার এক্সট্রাকশন মডেল তৈরি করার সময় কোন ভেরিয়েবল নির্বাচন করবেন তা কীভাবে জানবেন? আপনি সম্ভবত ফিচার সিলেকশন বা ফিচার এক্সট্রাকশনের একটি প্রক্রিয়ার মধ্য দিয়ে যাবেন সেরা পারফর্মিং মডেলের জন্য সঠিক ভেরিয়েবলগুলো নির্বাচন করতে। তবে, এগুলো একই জিনিস নয়: "ফিচার এক্সট্রাকশন মূল ফিচারগুলোর ফাংশন থেকে নতুন ফিচার তৈরি করে, যেখানে ফিচার সিলেকশন ফিচারগুলোর একটি সাবসেট প্রদান করে।" (উৎস)
আপনার ডেটা ভিজ্যুয়ালাইজ করুন
একজন ডেটা বিজ্ঞানীর টুলকিটের একটি গুরুত্বপূর্ণ দিক হলো ডেটাকে ভিজ্যুয়ালাইজ করার ক্ষমতা, যা Seaborn বা MatPlotLib এর মতো চমৎকার লাইব্রেরি ব্যবহার করে করা যায়। আপনার ডেটাকে ভিজ্যুয়ালি উপস্থাপন করা আপনাকে লুকানো সম্পর্কগুলো আবিষ্কার করতে সাহায্য করতে পারে যা আপনি কাজে লাগাতে পারেন। আপনার ভিজ্যুয়ালাইজেশনগুলো আপনাকে পক্ষপাত বা ভারসাম্যহীন ডেটা আবিষ্কার করতেও সাহায্য করতে পারে (যেমন আমরা ক্লাসিফিকেশন এ আবিষ্কার করি)।
আপনার ডেটাসেট ভাগ করুন
ট্রেনিংয়ের আগে, আপনাকে আপনার ডেটাসেটকে অসম আকারের দুই বা ততোধিক অংশে ভাগ করতে হবে যা এখনও ডেটাকে ভালোভাবে উপস্থাপন করে।
- ট্রেনিং। ডেটাসেটের এই অংশটি আপনার মডেলে ফিট করা হয় এটি ট্রেন করার জন্য। এটি মূল ডেটাসেটের বেশিরভাগ অংশ নিয়ে গঠিত।
- টেস্টিং। একটি টেস্ট ডেটাসেট হলো একটি স্বাধীন ডেটার গ্রুপ, যা প্রায়ই মূল ডেটা থেকে সংগ্রহ করা হয়, যা আপনি তৈরি করা মডেলের পারফরম্যান্স নিশ্চিত করতে ব্যবহার করেন।
- ভ্যালিডেটিং। একটি ভ্যালিডেশন সেট হলো একটি ছোট স্বাধীন উদাহরণের গ্রুপ যা আপনি মডেলের হাইপারপ্যারামিটার বা আর্কিটেকচার টিউন করতে ব্যবহার করেন, মডেলটি উন্নত করতে। আপনার ডেটার আকার এবং আপনি যে প্রশ্ন করছেন তার উপর নির্ভর করে, আপনাকে এই তৃতীয় সেট তৈরি করতে নাও হতে পারে (যেমন আমরা টাইম সিরিজ ফোরকাস্টিং এ উল্লেখ করি)।
মডেল তৈরি করা
আপনার ট্রেনিং ডেটা ব্যবহার করে, আপনার লক্ষ্য হলো একটি মডেল তৈরি করা, বা আপনার ডেটার একটি পরিসংখ্যানগত উপস্থাপনা, যা বিভিন্ন অ্যালগরিদম ব্যবহার করে ট্রেন করা হয়। একটি মডেল ট্রেন করা এটি ডেটার সাথে পরিচিত করে এবং এটি আবিষ্কৃত প্যাটার্নগুলো সম্পর্কে অনুমান করতে, যাচাই করতে এবং গ্রহণ বা প্রত্যাখ্যান করতে সক্ষম করে।
ট্রেনিং পদ্ধতি নির্ধারণ করুন
আপনার প্রশ্ন এবং ডেটার প্রকৃতির উপর নির্ভর করে, আপনি এটি ট্রেন করার একটি পদ্ধতি নির্বাচন করবেন। Scikit-learn এর ডকুমেন্টেশন এর মধ্য দিয়ে হাঁটলে - যা আমরা এই কোর্সে ব্যবহার করি - আপনি মডেল ট্রেন করার অনেক উপায় অন্বেষণ করতে পারেন। আপনার অভিজ্ঞতার উপর নির্ভর করে, আপনি সেরা মডেল তৈরি করতে একাধিক পদ্ধতি চেষ্টা করতে হতে পারে। আপনি সম্ভবত একটি প্রক্রিয়ার মধ্য দিয়ে যাবেন যেখানে ডেটা বিজ্ঞানীরা একটি মডেলের পারফরম্যান্স মূল্যায়ন করেন, এটি অদেখা ডেটা দিয়ে খাওয়ান, সঠিকতা, পক্ষপাত এবং অন্যান্য গুণমান-হ্রাসকারী সমস্যাগুলো পরীক্ষা করেন এবং নির্দিষ্ট কাজের জন্য সবচেয়ে উপযুক্ত ট্রেনিং পদ্ধতি নির্বাচন করেন।
একটি মডেল ট্রেন করুন
আপনার ট্রেনিং ডেটা নিয়ে, আপনি এটি 'ফিট' করতে প্রস্তুত একটি মডেল তৈরি করতে। আপনি লক্ষ্য করবেন যে অনেক ML লাইব্রেরিতে আপনি 'model.fit' কোডটি পাবেন - এটি সেই সময় যখন আপনি আপনার ফিচার ভেরিয়েবলকে একটি মানের অ্যারে হিসেবে পাঠান (সাধারণত 'X') এবং একটি টার্গেট ভেরিয়েবল (সাধারণত 'y')।
মডেল মূল্যায়ন করুন
একবার ট্রেনিং প্রক্রিয়া সম্পন্ন হলে (একটি বড় মডেল ট্রেন করতে অনেক পুনরাবৃত্তি বা 'epochs' লাগতে পারে), আপনি মডেলের গুণমান মূল্যায়ন করতে সক্ষম হবেন টেস্ট ডেটা ব্যবহার করে এর পারফরম্যান্স পরিমাপ করতে। এই ডেটা মূল ডেটার একটি সাবসেট যা মডেল পূর্বে বিশ্লেষণ করেনি। আপনি মডেলের গুণমান সম্পর্কে একটি মেট্রিক টেবিল প্রিন্ট করতে পারেন।
🎓 মডেল ফিটিং
মেশিন লার্নিং এর প্রসঙ্গে, মডেল ফিটিং একটি মডেলের অন্তর্নিহিত ফাংশনের সঠিকতা নির্দেশ করে, যেটি এমন ডেটা বিশ্লেষণ করার চেষ্টা করে যার সাথে এটি পরিচিত নয়।
🎓 আন্ডারফিটিং এবং ওভারফিটিং সাধারণ সমস্যা যা মডেলের গুণমানকে হ্রাস করে, কারণ মডেলটি যথেষ্ট ভালোভাবে ফিট হয় না বা খুব ভালোভাবে ফিট হয়। এটি মডেলকে প্রেডিকশন করতে বাধা দেয় যা তার ট্রেনিং ডেটার সাথে খুব বেশি বা খুব কম সংযুক্ত থাকে। একটি ওভারফিট মডেল ট্রেনিং ডেটাকে খুব ভালোভাবে প্রেডিক্ট করে কারণ এটি ডেটার বিস্তারিত এবং শব্দ খুব ভালোভাবে শিখেছে। একটি আন্ডারফিট মডেল সঠিক নয় কারণ এটি তার ট্রেনিং ডেটা বা এটি যে ডেটা 'দেখেনি' তা সঠিকভাবে বিশ্লেষণ করতে পারে না।
ইনফোগ্রাফিক Jen Looper দ্বারা
প্যারামিটার টিউনিং
আপনার প্রাথমিক ট্রেনিং সম্পন্ন হওয়ার পরে, মডেলের গুণমান পর্যবেক্ষণ করুন এবং এর 'হাইপারপ্যারামিটার' টুইক করে এটি উন্নত করার কথা বিবেচনা করুন। এই প্রক্রিয়া সম্পর্কে আরও পড়ুন ডকুমেন্টেশনে।
প্রেডিকশন
এটি সেই মুহূর্ত যখন আপনি সম্পূর্ণ নতুন ডেটা ব্যবহার করে আপনার মডেলের সঠিকতা পরীক্ষা করতে পারেন। একটি 'প্রয়োগকৃত' ML সেটিংয়ে, যেখানে আপনি প্রোডাকশনে মডেল ব্যবহার করার জন্য ওয়েব অ্যাসেট তৈরি করছেন, এই প্রক্রিয়াটি ব্যবহারকারীর ইনপুট সংগ্রহ করার (যেমন একটি বোতাম চাপা) মাধ্যমে একটি ভেরিয়েবল সেট করা এবং মডেলে ইনফারেন্স বা মূল্যায়নের জন্য পাঠানোর অন্তর্ভুক্ত হতে পারে।
এই পাঠগুলোতে, আপনি এই ধাপগুলো ব্যবহার করে প্রস্তুত করা, তৈরি করা, পরীক্ষা করা, মূল্যায়ন করা এবং প্রেডিকশন করা শিখবেন - একজন ডেটা বিজ্ঞানীর সমস্ত কার্যকলাপ এবং আরও অনেক কিছু, যেহেতু আপনি 'ফুল স্ট্যাক' ML ইঞ্জিনিয়ার হওয়ার যাত্রায় অগ্রসর হচ্ছেন।
🚀চ্যালেঞ্জ
একটি ফ্লো চার্ট আঁকুন যা একটি ML প্র্যাকটিশনারের ধাপগুলো প্রতিফলিত করে। আপনি এই প্রক্রিয়ার কোন পর্যায়ে আছেন বলে মনে করেন? আপনি কোথায় সমস্যার সম্মুখীন হতে পারেন বলে মনে করেন? আপনার কাছে কী সহজ মনে হয়?
পাঠ-পরবর্তী কুইজ
পর্যালোচনা এবং স্ব-অধ্যয়ন
অনলাইনে ডেটা বিজ্ঞানীদের সাক্ষাৎকার খুঁজুন যারা তাদের দৈনন্দিন কাজ নিয়ে আলোচনা করেন। এখানে একটি সাক্ষাৎকার রয়েছে।
অ্যাসাইনমেন্ট
একজন ডেটা বিজ্ঞানীর সাক্ষাৎকার নিন
অস্বীকৃতি:
এই নথিটি AI অনুবাদ পরিষেবা Co-op Translator ব্যবহার করে অনুবাদ করা হয়েছে। আমরা যথাসম্ভব সঠিক অনুবাদ প্রদানের চেষ্টা করি, তবে অনুগ্রহ করে মনে রাখবেন যে স্বয়ংক্রিয় অনুবাদে ত্রুটি বা অসঙ্গতি থাকতে পারে। মূল ভাষায় থাকা নথিটিকে প্রামাণিক উৎস হিসেবে বিবেচনা করা উচিত। গুরুত্বপূর্ণ তথ্যের জন্য, পেশাদার মানব অনুবাদ সুপারিশ করা হয়। এই অনুবাদ ব্যবহারের ফলে কোনো ভুল বোঝাবুঝি বা ভুল ব্যাখ্যা হলে আমরা তার জন্য দায়ী থাকব না।

