Python's Scikit-Learn এর সাথে অন্যান্য SVM ফ্লেভার বাস্তবায়ন করা

Python's Scikit-Learn এর সাথে অন্যান্য SVM ফ্লেভার বাস্তবায়ন করা

ভূমিকা

এই নির্দেশিকাটি সাপোর্ট ভেক্টর মেশিন (SVMs) সম্পর্কে তিনটি গাইডের তৃতীয় এবং চূড়ান্ত অংশ। এই নির্দেশিকায়, আমরা নকল ব্যাঙ্ক নোট ব্যবহারের ক্ষেত্রে কাজ চালিয়ে যাব, SVM-এর পিছনের সাধারণ ধারণা সম্পর্কে দ্রুত সংক্ষিপ্ত বিবরণ দেব, কার্নেলের কৌশল কী তা বুঝতে পারব এবং Scikit-Learn-এর সাহায্যে বিভিন্ন ধরনের নন-লিনিয়ার কার্নেল প্রয়োগ করব।

SVM গাইডের সম্পূর্ণ সিরিজে, অন্যান্য ধরনের SVM সম্পর্কে শেখার পাশাপাশি, আপনি সাধারণ SVM, SVM পূর্ব-নির্ধারিত পরামিতি, C এবং গামা হাইপারপ্যারামিটার এবং গ্রিড অনুসন্ধান এবং ক্রস যাচাইকরণের সাথে কীভাবে তাদের টিউন করা যেতে পারে সে সম্পর্কেও শিখবেন।

আপনি যদি পূর্ববর্তী নির্দেশিকাগুলি পড়তে চান, আপনি প্রথম দুটি নির্দেশিকা দেখে নিতে পারেন বা কোন বিষয়ে আপনার আগ্রহ সবচেয়ে বেশি তা দেখতে পারেন৷ নীচে প্রতিটি গাইডে কভার করা বিষয়গুলির সারণী রয়েছে:

  1. Python এর Scikit-Learn-এর সাথে SVM এবং Kernel SVM বাস্তবায়ন করা
  • কেস ব্যবহার করুন: ব্যাংক নোট ভুলে যান
  • SVM-এর পটভূমি
  • সরল (লিনিয়ার) SVM মডেল
    • ডেটাসেট সম্পর্কে
    • ডেটাসেট আমদানি করা হচ্ছে
    • ডেটাসেট অন্বেষণ
  • Scikit-Learn এর সাথে SVM বাস্তবায়ন করা
    • ট্রেন/পরীক্ষা সেটে ডেটা ভাগ করা
    • মডেল প্রশিক্ষণ
    • ভবিষ্যদ্বাণী করা
    • মডেল মূল্যায়ন
    • ফলাফল ব্যাখ্যা
  1. SVM হাইপারপ্যারামিটার বোঝা
  • সি হাইপারপ্যারামিটার
  • গামা হাইপারপ্যারামিটার

3. Python's Scikit-Learn-এর সাথে অন্যান্য SVM ফ্লেভার প্রয়োগ করা

  • এসভিএমের সাধারণ ধারণা (একটি সংক্ষিপ্ত বিবরণ)
  • কার্নেল (কৌশল) SVM
  • স্কিট-লার্নের সাথে নন-লিনিয়ার কার্নেল এসভিএম বাস্তবায়ন করা
  • লাইব্রেরি আমদানি করা
    • ডেটাসেট আমদানি করা হচ্ছে
    • বৈশিষ্ট্য (X) এবং লক্ষ্য (y) মধ্যে ডেটা ভাগ করা
    • ট্রেন/পরীক্ষা সেটে ডেটা ভাগ করা
    • অ্যালগরিদম প্রশিক্ষণ
  • বহুপদী কার্নেল
    • ভবিষ্যদ্বাণী করা
    • অ্যালগরিদম মূল্যায়ন
  • গাউসিয়ান কার্নেল
    • ভবিষ্যদ্বাণী এবং মূল্যায়ন
  • সিগময়েড কার্নেল
    • ভবিষ্যদ্বাণী এবং মূল্যায়ন
  • নন-লিনিয়ার কার্নেল পারফরম্যান্সের তুলনা

কিছু আকর্ষণীয় SVM কার্নেল বৈচিত্র দেখার আগে এসভিএম কী তা মনে রাখা যাক।

SVM-এর সাধারণ ধারণা

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

একাধিক সিদ্ধান্তের সীমানা

চিত্র 1: একাধিক সিদ্ধান্তের সীমানা

যখন SVM নির্বাচন করে সিদ্ধান্তের সীমানা, এটি একটি সীমানা বেছে নেয় যা নিজের এবং ক্লাসের নিকটতম ডেটা পয়েন্টগুলির মধ্যে দূরত্বকে সর্বাধিক করে। আমরা ইতিমধ্যেই জানি যে নিকটতম ডেটা পয়েন্টগুলি হল সমর্থন ভেক্টর এবং দূরত্ব উভয় দ্বারা প্যারামেট্রিজ করা যেতে পারে C এবং gamma হাইপারপ্যারামিটার

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

সমর্থন ভেক্টর সহ সিদ্ধান্ত সীমানা

চিত্র 2: সমর্থন ভেক্টর সহ সিদ্ধান্তের সীমানা

এই কারণেই SVM অন্যান্য শ্রেণিবিন্যাস অ্যালগরিদম থেকে আলাদা, একবার এটি শুধুমাত্র একটি সিদ্ধান্তের সীমানা খুঁজে পায় না, তবে এটি সর্বোত্তম সিদ্ধান্তের সীমানা খুঁজে পায়।

সমর্থন ভেক্টরগুলি খুঁজে বের করার পিছনে জড়িত পরিসংখ্যান এবং গণনা পদ্ধতি থেকে উদ্ভূত জটিল গণিত রয়েছে, সিদ্ধান্তের সীমানা এবং সমর্থন ভেক্টরগুলির মধ্যে মার্জিন গণনা করা এবং সেই মার্জিনটিকে সর্বাধিক করা। এই সময়, আমরা গণিত কিভাবে খেলে তার বিশদ বিবরণে যাব না।

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

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

কার্নেল (কৌশল) SVM

পূর্ববর্তী বিভাগে, আমরা SVM-এর সাধারণ ধারণাটি মনে রেখেছি এবং সংগঠিত করেছি – কীভাবে এটি রৈখিকভাবে বিভাজ্য ডেটার জন্য সর্বোত্তম সিদ্ধান্তের সীমানা খুঁজে পেতে ব্যবহার করা যেতে পারে। যাইহোক, নন-লিনিয়ারলি বিভাজ্য ডেটার ক্ষেত্রে, যেমন চিত্র 3-এ দেখানো একটি, আমরা ইতিমধ্যেই জানি যে একটি সরল রেখাকে সিদ্ধান্তের সীমানা হিসাবে ব্যবহার করা যাবে না।

নন-লিনিয়ারলি সেপারেবল ডেটা

চিত্র 3: নন-লিনিয়ারলি সেপারেবল ডেটা

বরং, আমরা শুরুতে আলোচনা করেছিলাম SVM-এর পরিবর্তিত সংস্করণ ব্যবহার করতে পারি, যার নাম Kernel SVM।

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

স্কিট-লার্নের সাথে নন-লিনিয়ার কার্নেল এসভিএম বাস্তবায়ন করা

এই বিভাগে, আমরা ইতিমধ্যেই আমাদের জানা চারটি বৈশিষ্ট্য অনুসারে একটি ব্যাঙ্ক নোট আসল নাকি নকল তা ভবিষ্যদ্বাণী করতে আমরা একই ডেটাসেট ব্যবহার করব।

আপনি দেখতে পাবেন যে বাকি ধাপগুলি হল সাধারণ মেশিন লার্নিং ধাপ এবং আমরা আমাদের নন-লিনিয়ার কার্নেল এসভিএমগুলিকে যে অংশে প্রশিক্ষিত করি সেই অংশে না পৌঁছানো পর্যন্ত খুব কম ব্যাখ্যার প্রয়োজন।

লাইব্রেরি আমদানি করা

import numpy as np
import matplotlib.pyplot as plt
import pandas as pd
import seaborn as sns
from sklearn.model_selection import train_test_split

ডেটাসেট আমদানি করা হচ্ছে

data_link = "https://archive.ics.uci.edu/ml/machine-learning-databases/00267/data_banknote_authentication.txt"
col_names = ["variance", "skewness", "curtosis", "entropy", "class"] bankdata = pd.read_csv(data_link, names=col_names, sep=",", header=None)
bankdata.head()mes)

বৈশিষ্ট্য (X) এবং লক্ষ্য (y) মধ্যে ডেটা ভাগ করা

X = bankdata.drop('class', axis=1)
y = bankdata['class']

ট্রেন/পরীক্ষা সেটে ডেটা ভাগ করা

SEED = 42 X_train, X_test, y_train, y_test = train_test_split(X, y, test_size = 0.20, random_state = SEED)

অ্যালগরিদম প্রশিক্ষণ

কার্নেল SVM প্রশিক্ষণের জন্য, আমরা একই ব্যবহার করব SVC স্কিট-লার্নের ক্লাস svm লাইব্রেরি পার্থক্যটি কার্নেল প্যারামিটারের মানের মধ্যে রয়েছে SVC বর্গ.

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

1. বহুপদী কার্নেল

বীজগণিতে, একটি বহুপদ হল ফর্মের একটি অভিব্যক্তি:

$$
2a*b^3 + 4a – 9
$$

এই যেমন ভেরিয়েবল আছে a এবং b, ধ্রুবক, আমাদের উদাহরণে, 9 এবং সহগ (ভেরিয়েবলের সাথে ধ্রুবক), যেমন 2 এবং 4. দ্য 3 বহুপদ ডিগ্রী হিসাবে বিবেচিত হয়।

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

সেরা-অভ্যাস, শিল্প-স্বীকৃত মান এবং অন্তর্ভুক্ত চিট শীট সহ গিট শেখার জন্য আমাদের হ্যান্ডস-অন, ব্যবহারিক গাইড দেখুন। গুগলিং গিট কমান্ড এবং আসলে বন্ধ করুন শেখা এটা!

সুতরাং, বাস্তবায়নের জন্য বহুপদী কার্নেল, নির্বাচন ছাড়াও poly কার্নেল, আমরা এর জন্য একটি মানও পাস করব degree এর প্যারামিটার SVC ক্লাস নিচে কোড দেওয়া হল:

from sklearn.svm import SVC
svc_poly = SVC(kernel='poly', degree=8)
svc_poly.fit(X_train, y_train)

ভবিষ্যদ্বাণী করা

এখন, একবার আমরা অ্যালগরিদম প্রশিক্ষিত হয়ে গেলে, পরবর্তী ধাপ হল পরীক্ষার ডেটার উপর ভবিষ্যদ্বাণী করা।

আমরা আগে যেমন করেছি, আমরা তা করতে নিম্নলিখিত স্ক্রিপ্টটি চালাতে পারি:

y_pred_poly = svclassifier.predict(X_test)

অ্যালগরিদম মূল্যায়ন

যথারীতি, চূড়ান্ত ধাপ হল বহুপদী কার্নেলের মূল্যায়ন করা। যেহেতু আমরা ক্লাসিফিকেশন রিপোর্ট এবং কনফিউশন ম্যাট্রিক্সের জন্য কোডটি কয়েকবার পুনরাবৃত্তি করেছি, আসুন এটিকে একটি ফাংশনে রূপান্তরিত করি যা display_results নিজ নিজ প্রাপ্তির পর y_test, y_pred এবং এর সাথে সিবোর্নের কনফিউশন ম্যাট্রিক্সের শিরোনাম cm_title:

def display_results(y_test, y_pred, cm_title): cm = confusion_matrix(y_test,y_pred) sns.heatmap(cm, annot=True, fmt='d').set_title(cm_title) print(classification_report(y_test,y_pred))

এখন, আমরা ফাংশনটিকে কল করতে পারি এবং বহুপদী কার্নেল দিয়ে প্রাপ্ত ফলাফলগুলি দেখতে পারি:

cm_title_poly = "Confusion matrix with polynomial kernel"
display_results(y_test, y_pred_poly, cm_title_poly)

আউটপুট এই মত দেখায়:

 precision recall f1-score support 0 0.69 1.00 0.81 148 1 1.00 0.46 0.63 127 accuracy 0.75 275 macro avg 0.84 0.73 0.72 275
weighted avg 0.83 0.75 0.73 275

Python's Scikit-Learn PlatoBlockchain ডেটা ইন্টেলিজেন্স সহ অন্যান্য SVM ফ্লেভার প্রয়োগ করা। উল্লম্ব অনুসন্ধান. আ.

এখন আমরা গাউসিয়ান এবং সিগময়েড কার্নেলের জন্য একই পদক্ষেপগুলি পুনরাবৃত্তি করতে পারি।

2. গাউসিয়ান কার্নেল

গাউসিয়ান কার্নেল ব্যবহার করার জন্য, আমাদের শুধুমাত্র মান হিসাবে 'rbf' নির্দিষ্ট করতে হবে kernel SVC ক্লাসের প্যারামিটার:

svc_gaussian = SVC(kernel='rbf', degree=8)
svc_gaussian.fit(X_train, y_train)

এই কার্নেলটি আরও অন্বেষণ করার সময়, আপনি এটিকে বিভিন্ন সাথে একত্রিত করতে গ্রিড অনুসন্ধানও ব্যবহার করতে পারেন C এবং gamma মান।

ভবিষ্যদ্বাণী এবং মূল্যায়ন

y_pred_gaussian = svc_gaussian.predict(X_test)
cm_title_gaussian = "Confusion matrix with Gaussian kernel"
display_results(y_test, y_pred_gaussian, cm_title_gaussian)

গাউসিয়ান কার্নেল SVM এর আউটপুটটি এইরকম দেখাচ্ছে:

 precision recall f1-score support 0 1.00 1.00 1.00 148 1 1.00 1.00 1.00 127 accuracy 1.00 275 macro avg 1.00 1.00 1.00 275
weighted avg 1.00 1.00 1.00 275

Python's Scikit-Learn PlatoBlockchain ডেটা ইন্টেলিজেন্স সহ অন্যান্য SVM ফ্লেভার প্রয়োগ করা। উল্লম্ব অনুসন্ধান. আ.

3. সিগময়েড কার্নেল

অবশেষে, কার্নেল এসভিএম বাস্তবায়নের জন্য একটি সিগমায়েড কার্নেল ব্যবহার করা যাক। নিচের স্ক্রিপ্টটি দেখুন:

svc_sigmoid = SVC(kernel='sigmoid')
svc_sigmoid.fit(X_train, y_train)

সিগময়েড কার্নেল ব্যবহার করার জন্য, আপনাকে মান হিসাবে 'সিগময়েড' নির্দিষ্ট করতে হবে kernel এর প্যারামিটার SVC বর্গ.

ভবিষ্যদ্বাণী এবং মূল্যায়ন

y_pred_sigmoid = svc_sigmoid.predict(X_test)
cm_title_sigmoid = "Confusion matrix with Sigmoid kernel"
display_results(y_test, y_pred_sigmoid, cm_title_sigmoid)

সিগময়েড কার্নেলের সাথে কার্নেল এসভিএম-এর আউটপুট এইরকম দেখায়:

 precision recall f1-score support 0 0.67 0.71 0.69 148 1 0.64 0.59 0.61 127 accuracy 0.65 275 macro avg 0.65 0.65 0.65 275
weighted avg 0.65 0.65 0.65 275

Python's Scikit-Learn PlatoBlockchain ডেটা ইন্টেলিজেন্স সহ অন্যান্য SVM ফ্লেভার প্রয়োগ করা। উল্লম্ব অনুসন্ধান. আ.

নন-লিনিয়ার কার্নেল পারফরম্যান্সের তুলনা

যদি আমরা সংক্ষিপ্তভাবে বিভিন্ন ধরনের নন-লিনিয়ার কার্নেলের কর্মক্ষমতা তুলনা করি, তাহলে মনে হতে পারে যে সিগমায়েড কার্নেলের সর্বনিম্ন মেট্রিক্স রয়েছে, তাই সবচেয়ে খারাপ কর্মক্ষমতা।

গাউসিয়ান এবং বহুপদী কার্নেলগুলির মধ্যে, আমরা দেখতে পাচ্ছি যে গাউসিয়ান কার্নেল একটি নিখুঁত 100% ভবিষ্যদ্বাণীর হার অর্জন করেছে – যা সাধারণত সন্দেহজনক এবং একটি অতিরিক্ত ফিট নির্দেশ করতে পারে, যখন বহুপদী কার্নেল ক্লাস 68 এর 1টি উদাহরণকে ভুল শ্রেণিবদ্ধ করে।

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

এটি সমস্ত কার্নেল পরীক্ষা করা এবং প্যারামিটার এবং ডেটা প্রস্তুতির সংমিশ্রণ সহ একটি নির্বাচন করা যা আপনার প্রকল্পের প্রেক্ষাপট অনুসারে প্রত্যাশিত ফলাফল দেয়।

আরও এগিয়ে যাওয়া - হাতে ধরা শেষ থেকে শেষ প্রকল্প

আপনার অনুসন্ধিৎসু প্রকৃতি আপনাকে আরও যেতে চায়? আমরা আমাদের চেক আউট সুপারিশ নির্দেশিত প্রকল্প: "হ্যান্ডস-অন হাউস প্রাইস প্রেডিকশন - পাইথনে মেশিন লার্নিং".

Python's Scikit-Learn PlatoBlockchain ডেটা ইন্টেলিজেন্স সহ অন্যান্য SVM ফ্লেভার প্রয়োগ করা। উল্লম্ব অনুসন্ধান. আ.

এই নির্দেশিত প্রকল্পে - আপনি শিখবেন কীভাবে শক্তিশালী ঐতিহ্যবাহী মেশিন লার্নিং মডেলের পাশাপাশি গভীর শিক্ষার মডেলগুলি তৈরি করা যায়, এনসেম্বল লার্নিং ব্যবহার করা এবং মেটা-লার্নার্সকে স্কিট-লার্ন এবং কেরাস মডেলের একটি ব্যাগ থেকে বাড়ির দামের পূর্বাভাস দিতে প্রশিক্ষণ দেওয়া।

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

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

এটি একটি এন্ড-টু-এন্ড প্রজেক্ট, এবং সমস্ত মেশিন লার্নিং প্রজেক্টের মতো, আমরা শুরু করব – এর সাথে অনুসন্ধানের ডেটা বিশ্লেষণ, দ্বারা অনুসরণ তথ্য প্রপ্রোকাসিং এবং পরিশেষে বিল্ডিং অগভীর এবং গভীর শিক্ষার মডেল আমরা পূর্বে অন্বেষণ এবং পরিষ্কার করা ডেটা ফিট করতে।

উপসংহার

এই নিবন্ধে আমরা SVM-এর উপর একটি দ্রুত সংক্ষিপ্ত বিবরণ তৈরি করেছি, কার্নেল কৌশল সম্পর্কে অধ্যয়ন করেছি এবং নন-লিনিয়ার SVM-এর বিভিন্ন স্বাদ প্রয়োগ করেছি।

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

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

সময় স্ট্যাম্প:

থেকে আরো Stackabuse