লজিস্টিক রিগ্রেশন (Logistic Regression) একটি জনপ্রিয় মেশিন লার্নিং অ্যালগরিদম যা বিশেষভাবে ক্লাসিফিকেশন সমস্যার জন্য ব্যবহৃত হয়। এটি একটি সুপারভাইজড লার্নিং পদ্ধতি যা ইনপুট বৈশিষ্ট্য (features) থেকে আউটপুট ক্লাস (output class) প্রেডিক্ট করে। যদিও এটি "রিগ্রেশন" নামে পরিচিত, তবে এটি মূলত একটি ক্লাসিফিকেশন অ্যালগরিদম এবং এটি দ্বৈত শ্রেণী (binary classification) সমস্যাগুলির জন্য ব্যবহৃত হয়।
লজিস্টিক রিগ্রেশন এমন একটি পদ্ধতি যা একটি প্রবাহ ফাংশন (sigmoid function) ব্যবহার করে সম্ভাবনা (probability) গণনা করে। এই অ্যালগরিদমটি প্রবাহের মাধ্যমে আউটপুট ক্লাসের সম্ভাবনা বের করে এবং পরে একটি সিদ্ধান্ত সীমা (decision boundary) তৈরি করে, যার মাধ্যমে বিভিন্ন ক্লাস চিহ্নিত করা হয়।
এরপর, এই সমন্বয়ে লজিস্টিক ফাংশন (sigmoid function) প্রয়োগ করা হয়, যা ফলাফলকে একটি সম্ভাবনা (probability) এর মধ্যে রূপান্তরিত করে।
লজিস্টিক ফাংশন (sigmoid function) এর সূত্র:
σ(z)=11+e−z
যেখানে z=w0+w1x1+w2x2+...+wnxn এবং wi হলো প্রতিটি বৈশিষ্ট্যের ওজন (weights), xi হলো বৈশিষ্ট্য (features)।
ধরা যাক, আপনি একটি মডেল তৈরি করতে চান যা নির্ধারণ করবে একটি ইমেল স্প্যাম কি না। এর জন্য আপনি ইনপুট বৈশিষ্ট্য হিসেবে ইমেলের বিষয়বস্তু, প্রেরকের তথ্য ইত্যাদি ব্যবহার করতে পারেন। লজিস্টিক রিগ্রেশন মডেলটি এই বৈশিষ্ট্যগুলির ভিত্তিতে একটি সম্ভাবনা বের করবে যে, ইমেলটি স্প্যাম হতে পারে কিনা। এর পরে, এটি সিদ্ধান্ত নেবে যে ইমেলটি স্প্যাম (১) না নন-স্প্যাম (০)।
লজিস্টিক রিগ্রেশন মডেলটি লজিস্টিক লস ফাংশন (Logistic Loss Function) বা ক্রস-এন্ট্রপি (Cross-Entropy Loss) ব্যবহার করে প্রশিক্ষিত হয়, যা আউটপুট প্রেডিকশনের সঙ্গে প্রকৃত লেবেলের (actual label) পার্থক্য কমানোর চেষ্টা করে।
ক্রস-এন্ট্রপি লস ফাংশন:
L(y,ˆy)=−(ylog(ˆy)+(1−y)log(1−ˆy))
এখানে, y হলো প্রকৃত আউটপুট (actual output), এবং ˆy হলো প্রেডিক্টেড সম্ভাবনা (predicted probability)।
লজিস্টিক রিগ্রেশন একটি শক্তিশালী এবং সহজ মেশিন লার্নিং অ্যালগরিদম যা দ্বৈত শ্রেণী (binary classification) সমস্যার জন্য কার্যকরী। এটি সম্ভবনা প্রদান করে, যা মডেলের সিদ্ধান্তের উপর দৃঢ়তা বুঝতে সাহায্য করে এবং মডেল ব্যাখ্যা করতে সহজ। তবে, এর কিছু সীমাবদ্ধতাও রয়েছে, যেমন লিনিয়ার সম্পর্কের প্রয়োজনীয়তা।
লগিস্টিক রিগ্রেশন (Logistic Regression) একটি পরিসংখ্যানগত মডেল যা মূলত ক্লাসিফিকেশন সমস্যা সমাধানে ব্যবহৃত হয়। এটি একটি সুপারভাইজড লার্নিং অ্যালগরিদম যা ইনপুট বৈশিষ্ট্যগুলির উপর ভিত্তি করে কোন একটি নির্দিষ্ট শ্রেণীতে (class) কোন অবজেক্ট বা ইনপুটকে শ্রেণীভুক্ত করবে তা অনুমান করে। যদিও এর নাম "রিগ্রেশন" তবে এটি মূলত ক্লাসিফিকেশন সমস্যা সমাধান করতে ব্যবহৃত হয়।
লগিস্টিক রিগ্রেশন একটি সিগময়েড ফাংশন (Sigmoid Function) ব্যবহার করে, যার মাধ্যমে ইনপুট ভ্যালুগুলির উপর ভিত্তি করে আউটপুটকে একটি সম্ভাব্যতা (probability) আকারে রূপান্তর করা হয়। সিগময়েড ফাংশনটি ইনপুট ডেটার উপর ভিত্তি করে একটি আউটপুট (0 থেকে 1 এর মধ্যে) প্রদান করে, যা কোনও অবজেক্টের কোন শ্রেণীতে (class) পড়বে তার সম্ভাবনা নির্দেশ করে।
লগিস্টিক রিগ্রেশন কাজের জন্য প্রথমে একটি লিনিয়ার সমীকরণ ব্যবহার করে:
z=b+w1x1+w2x2+...+wnxn
এখানে:
এটি একটি লিনিয়ার কম্বিনেশন তৈরি করে যা পরে সিগময়েড ফাংশনে (Logistic function) প্রবাহিত হয়, যাতে আউটপুটটি 0 থেকে 1 এর মধ্যে পরিণত হয়:
σ(z)=11+e−z
এটি মূলত সম্ভাবনা (probability) প্রদান করে যে কোন একটি ইনপুটকে একটি নির্দিষ্ট শ্রেণীতে (class) শ্রেণীভুক্ত করা হবে।
লগিস্টিক রিগ্রেশন বিভিন্ন ক্ষেত্রে ব্যবহৃত হয়, বিশেষ করে যেগুলিতে বাইনারি ক্লাসিফিকেশন (Binary Classification) প্রয়োজন। এখানে কিছু উদাহরণ দেওয়া হল:
লগিস্টিক রিগ্রেশন একটি শক্তিশালী এবং সহজ মডেল যা ক্লাসিফিকেশন সমস্যার সমাধানে ব্যবহার হয়, বিশেষ করে বাইনারি ক্লাসিফিকেশন ক্ষেত্রে। এটি সহজ, ব্যাখ্যাতমক এবং দ্রুত, তবে কিছু জটিল সমস্যা (যেমন নন-লিনিয়ার সম্পর্ক) সমাধান করতে সীমাবদ্ধ হতে পারে।
Binary Classification এবং Sigmoid Function মেশিন লার্নিংয়ের দুটি অত্যন্ত গুরুত্বপূর্ণ ধারণা। এখানে আমরা দুটি বিষয়ের বিশদ আলোচনা করবো।
Binary Classification হলো একটি মেশিন লার্নিং টাস্ক যেখানে দুটি শ্রেণীর মধ্যে (যেমন, হ্যাঁ/না, ১/০, True/False) কোনো কিছুকে শ্রেণীবদ্ধ করা হয়। এটি একটি শ্রেণীভুক্ত সমস্যা, যেখানে আমাদের দুটি সম্ভাব্য আউটপুট থাকে এবং মডেলটি একটি ইনপুটের জন্য কোন শ্রেণীটি সঠিক তা অনুমান করে।
যদি মডেলটির আউটপুট 0.8
হয়, এটি পরামর্শ দিচ্ছে যে এটি প্রথম শ্রেণীতে (যেমন, স্প্যাম বা ফ্রড) পড়বে, এবং যদি আউটপুট 0.3
হয়, এটি পরামর্শ দিচ্ছে যে এটি দ্বিতীয় শ্রেণীতে (যেমন, নন-স্প্যাম বা নন-ফ্রড) পড়বে।
Sigmoid Function (যার অন্য নাম "Logistic Function" বা "Logistic Curve") হল একটি সিঙ্গেল ভ্যালু আউটপুট ফাংশন, যা যে কোন ইনপুটকে 0 থেকে 1 এর মধ্যে একটি মানে রূপান্তরিত করে। এটি Binary Classification সমস্যাগুলির জন্য আদর্শ কারণ এটি আউটপুটকে একটি নির্দিষ্ট সীমার মধ্যে রাখতে সাহায্য করে।
সিগময়েড ফাংশনটির গাণিতিক রূপ হলো:
S(x)=11+e−x
এখানে:
ধরা যাক, আমাদের একটি মডেল আছে যা একটি রোগীকে ডায়াবেটিস থাকা বা না থাকার জন্য শ্রেণীবদ্ধ করবে। মডেলটি রোগী সম্পর্কে কিছু তথ্য (যেমন বয়স, BMI, ইত্যাদি) নিয়ে ইনপুট হিসেবে দেয়। সিগময়েড ফাংশনটি ইনপুটের জন্য একটি মান উৎপন্ন করে, যা 0 এবং 1 এর মধ্যে থাকে।
এটি একটি "S" আকারে গ্রাফে দেখায়, যেখানে ইনপুটের মান খুবই বড় বা ছোট হলে আউটপুট 0 বা 1 এর কাছাকাছি চলে যায়, এবং মধ্যবর্তী মানে 0.5।
যদি একটি মডেল একটি রোগীকে ডায়াবেটিস হওয়ার জন্য 0.8 রেটিং দেয় (সিগময়েড আউটপুট), তবে এটি প্রথম শ্রেণীতে (ডায়াবেটিস) পড়বে, কারণ আউটপুট 0.5 এর বেশি। যদি আউটপুট 0.3 হয়, এটি দ্বিতীয় শ্রেণীতে (নন-ডায়াবেটিস) পড়বে।
Decision Boundary এবং Probabilistic Prediction মেশিন লার্নিং মডেলের সিদ্ধান্ত গ্রহণের প্রক্রিয়াকে আরও বিস্তারিতভাবে বোঝানোর জন্য গুরুত্বপূর্ণ ধারণা। এই দুটি ধারণা শ্রেণীবদ্ধকরণ সমস্যার সাথে সম্পর্কিত, বিশেষত ক্লাসিফিকেশন মডেল (যেমন, লজিস্টিক রিগ্রেশন, সাপোর্ট ভেক্টর মেশিন, কিভি এন) এর ক্ষেত্রে। চলুন, এগুলো বিস্তারিতভাবে আলোচনা করি।
Decision Boundary (বা সিদ্ধান্ত রেখা) হল সেই রেখা বা পৃষ্ঠ যা দুটি বা তার বেশি শ্রেণীর মধ্যে পার্থক্য তৈরি করে। এটি একটি গাণিতিক কনসেপ্ট, যা ক্লাসিফিকেশন মডেলগুলির দ্বারা সৃষ্ট হয়, যেখানে এটি কোনো ইনপুট ডেটা পয়েন্টকে দুটি শ্রেণীর মধ্যে একটি নির্বাচন করতে সহায়ক হয়। Decision boundary একধরনের রেখা বা পৃষ্ঠ যা একাধিক ক্লাসের মধ্যে সিদ্ধান্ত নেয়।
ধরা যাক, আপনি একটি ক্লাসিফিকেশন মডেল তৈরি করছেন যা দুইটি শ্রেণী (যেমন, স্প্যাম এবং নন-স্প্যাম ইমেল) চিহ্নিত করবে। মডেলটি ইমেলের বৈশিষ্ট্য (যেমন, কিওয়ার্ড ব্যবহার, ইমেল পাঠানোর সময় ইত্যাদি) উপর ভিত্তি করে সিদ্ধান্ত নেবে। Decision boundary একটি রেখা বা সীমানা হবে যা স্প্যাম এবং নন-স্প্যাম ইমেলের মধ্যে পার্থক্য তৈরি করবে।
Probabilistic Prediction হল একটি পদ্ধতি যেখানে মডেলটি শুধুমাত্র একটি নির্দিষ্ট শ্রেণী (class) চিহ্নিত না করে, বরং সেই শ্রেণীর সদস্য হওয়ার সম্ভাব্যতা (probability) দেয়। এটি ক্লাসিফিকেশন সমস্যায় একটি অত্যন্ত গুরুত্বপূর্ণ বৈশিষ্ট্য, বিশেষ করে যখন আপনি শুধু একটি নির্দিষ্ট শ্রেণী জানাতে চান না, বরং সেই শ্রেণীর সম্ভাব্যতার হিসাব করতে চান।
ধরা যাক, একটি মডেল ০ থেকে ১ এর মধ্যে একটি মান প্রদান করবে, যা একটি ইমেল স্প্যাম বা নন-স্প্যাম হওয়ার সম্ভাব্যতা দেখাবে। উদাহরণস্বরূপ:
এই দুটি ধারণা মেশিন লার্নিং মডেলের সিদ্ধান্ত গ্রহণের প্রক্রিয়ায় গুরুত্বপূর্ণ ভূমিকা রাখে এবং মডেলটির পারফরম্যান্স ও বৈশিষ্ট্য উন্নত করতে সাহায্য করে।
Confusion Matrix একটি টেবিল বা ম্যাট্রিক্স যা মডেলটির কর্মক্ষমতা বিশ্লেষণ করতে ব্যবহৃত হয়, বিশেষ করে ক্লাসিফিকেশন মডেলগুলির জন্য। এটি সঠিকভাবে এবং ভুলভাবে ক্লাসিফাই করা ট্যাগ করা ডেটার সম্পর্কের একটি সন্নিবেশ দেখায়। এতে মডেলের সত্যি ও মিথ্যা পজিটিভ এবং নেগেটিভের সংখ্যা এবং অন্যান্য পরিমাপ দেখানো হয়।
Predicted Positive | Predicted Negative | |
---|---|---|
Actual Positive | True Positive (TP) | False Negative (FN) |
Actual Negative | False Positive (FP) | True Negative (TN) |
Accuracy (সঠিকতা):
Accuracy=TP+TNTP+TN+FP+FN
সঠিকভাবে ক্লাসিফাই করা সমস্ত আইটেমের অনুপাত।
Precision (প্রিসিশন):
Precision=TPTP+FP
এটি মডেলের পজিটিভ পূর্বানুমানগুলির মধ্যে কতটা সঠিক ছিল তা নির্দেশ করে।
Recall (রিকল) বা Sensitivity:
Recall=TPTP+FN
এটি মডেলের পজিটিভ ক্লাস সঠিকভাবে চিহ্নিত করার ক্ষমতা পরিমাপ করে।
F1-Score:
F1−Score=2×Precision×RecallPrecision+Recall
Precision এবং Recall এর মধ্যে ভারসাম্য রাখার জন্য ব্যবহৃত হয়।
Specificity:
Specificity=TNTN+FP
এটি মডেলের নেগেটিভ ক্লাস সঠিকভাবে চিহ্নিত করার ক্ষমতা পরিমাপ করে।
ROC (Receiver Operating Characteristic) Curve এবং AUC (Area Under the Curve) হল একটি বিশ্লেষণাত্মক সরঞ্জাম যা ক্লাসিফিকেশন মডেলের পারফরম্যান্স মূল্যায়নে ব্যবহৃত হয়। এটি প্রধানত মডেলের ক্ষমতা চিহ্নিত করে যে কীভাবে এটি পজিটিভ এবং নেগেটিভ ক্লাসকে আলাদা করতে পারে।
ROC Curve হলো একটি গ্রাফ যা মডেলের True Positive Rate (TPR) (রিকল) এবং False Positive Rate (FPR) (এক্স পজিটিভ) এর মধ্যে সম্পর্ক দেখায়। এটি মডেলের ক্ষমতা বিশ্লেষণ করতে সহায়ক।
এটি গ্রাফের মধ্যে যতটা উপরের দিকে এবং বাম দিকের কাছাকাছি থাকে, ততই মডেলটি ভালো। আদর্শ মডেলটি (সর্বোচ্চ পারফরম্যান্স) গ্রাফের শীর্ষ বাম কোণে অবস্থিত।
AUC (Area Under the Curve) হল ROC Curve-এর নিচে থাকা এলাকা, যা মডেলের ক্ষমতা পরিমাপ করে। AUC এর মান 0 থেকে 1 এর মধ্যে থাকে:
Read more