Select Page

শিক্ষানবিসদের জন্য মেশিন লার্নিং । মেশিন কে শিখান যা আপনি শিখতে চান!!

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

তবে আপনি কি সত্যিই এটি সম্পর্কে বিভ্রান্ত ?এখানে মেশিন লার্নিংয়ের একটি সহজ দ্রুত পরিচয় দেয়া হবে। আশা করি এই লিখাটি আপনাকে একটি মৌলিক ধারণা পেতে সাহায্য করবে ।


পূর্বশর্ত

১.তোমার ব্যাকগ্রাউন্ডঃ বর্তমানে যারা মেশিন লার্নিং শিখতে অনেক আগ্রহী তাদের জন্য কিছু পূর্বশর্ত থাকা দরকার আমি মনে করি।যেমনঃ

১. পাইথন প্রোগ্রামিং এর উপর জ্ঞান থাকলে এই জ্ঞান আপনার জন্য সহায়ক হবে কিন্তু যদি না থাকে তাহলে আপনি জ্ঞান নিয়ে আসেন তারপর এইটি শুরু করেন।

২. মেশিন লার্নিং এর সব গণিত সম্বলিত, আপনাদের মধ্যবর্তী স্তরের জ্ঞান থাকতে হবে রৈখিক বীজগণিত, পরিসংখ্যান, এবং মাল্টিভিরেবল ক্যালকুলাস এগুলো এর উপর।

২. টুলস এন্ড এনভায়রনমেন্ট:

সেটআপঃ

দুইটি উপায়ে আমাদের এনভায়রনমেন্ট প্রতিস্থাপন করতে পারিঃ

১. Install python and then install each package using pip command

বা

২. Install Anaconda.

আইডিইঃ

পাইথনের জন্য অনেক আইডিই আছে আপনি নিম্নলিখিত যেকোনোটি ব্যবহার করতে পারেন, যেমন:

সাব্লিমেট টেক্সট

২. পাইচার( PyCharm)

৩. আইডেল

ইন্টারনেটে অনেকগুলি আইডিই রয়েছে কিন্তু আমরা আইপাইথন নোটবুক ব্যবহার করব।

নিম্নলিখিত কমান্ড টার্মিনাল তে চালান:

> jupyter notebook

Terminal output after running the command

সার্ভার স্থানীয়ভাবে শুরু হবে এবং আপনি পোর্টে নোটবুক অ্যাক্সেস করতে পারবেন

localhost:8888

আপনার বর্তমান ডিরেক্টরীতে একটি নতুন ফোল্ডার খুলুন এবং তারপর সেই ফোল্ডারে একটি নতুন আইপাইথন ফাইল তৈরি করুন। একটি পাইথন পরিবেশের জন্য আপনাকে এটি করতে হবে।

আসুন কোডটি নীচের লিংকের আইপাইথন সেল থেকে কপি করে কোড চালানোর জন্য Shift + Enter চাপুন।

https://github.com/harunshimanto/Learn-Machine-Learning-in-3-month/blob/master/Machine%2BLearning%2Bin%2BPython%2BStep-By-Step%2BTutorial%2B%20(1).ipynb

Output of the code

এই কোড এর মাধ্যমে আপনার এনভায়রনমেন্ট চেক করে নিলেন ঠিকভাবে কাজ করছে নাকি।

আমাদের প্রায়শই যেসব লাইব্রেরি ব্যবহার করতে হবেঃ

১.Scikit-Learnমেশিন লার্নিং এর জন্য পাইথন , বাস্তবায়ন সঙ্গে আসছে অনেক সাধারণ মেশিন লার্নিং আলগোরিদিম ( যেমনঃ ডিসিশন ট্রি, Naive Bayes, SVM, K-Nearest Neighbors ইত্যাদি ) এবং অন্যান্য অপারেশন জন্য মডিউল( যেমনঃ মেট্রিকস, ক্রস ভ্যালিডেশন, ফিচার সিলেকশন ইত্যাদি)

২.পান্ডাস : ডাটা ফ্রেম হিসাবে ডাটাসেটগুলির সাথে কাজ করার জন্য পান্ডাস বেশ উপযোগী এবং ডাটা বিশ্লেষণের উপরে, ডাটা ট্রান্সমেশনগুলির উপরে কাজ করে।

৩. Numpy :এটা সংখ্যাসূচক গণনা জন্য বেশ ভাল, এটি n- মাত্রিক অ্যারে গুণ করার জন্য বেশ ভাল এবং অনেক বিল্ট ইন গাণিতিক অপারেশন আছে ।

৪. Matplotlib: এটি visualization( মানসচিত্র গঠন চিত্র স্ফুটন) এর ব্যবহার হয়।

গুগলের সিইও সুন্দর পিচাই গুগল আই /ও (i/o)২০১৬ এ ঘোষণা দিয়েছিলেন যে, আমরা “মোবাইল ফার্স্ট” থেকে “এআই ফার্স্ট” এ স্থানান্তরিত করছি এবং গুগল এআই কোম্পানী হওয়ার কৌশলটি নতুন করে সংজ্ঞায়িত করছে।

মেশিন লার্নিং কি?

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

মেশিন লার্নিং নামটি আর্থার স্যামুয়েল দ্বারা 1959 সালে উদ্ভূত হয়েছিল।
এখানে মৌলিক ধারণা হল, নতুন তথ্য প্রকাশ করার সময় মেশিন লার্নিং কম্পিউটারের প্রোগ্রামগুলি নিজেদেরকে শেখাতে পারে। উদাহরণঃ

স্পষ্টভাবে মেশিন লার্নিং আজকাল অ্যাপ্লিকেশন সঙ্গে যোগাযোগ পদ্ধতি পরিবর্তন করছে, আমরা যেমন উদাহরণ দেখতে পারছি:

১. ফেসবুক বা আমাদের ফোনে ফেস ডিটেকশন।

২. গুগল ব্যবহারকারীদের আচরণের উপর ভিত্তি করে দেখাচ্ছে বিজ্ঞাপন এবং বিষয়বস্তু ।

৩.ইমেল স্প্যাম বা না হয় কিনা তা সনাক্ত করতে ইমেল দ্বারা কাজ করা।

৪.আমাজন বা নেটফ্লক্সে চলচ্চিত্র এবং বিভিন্ন পণ্যের সুপারিশ।

৫. স্ব-ড্রাইভিং কার আসছে …

সমস্যা এবং কাজের ধরনঃ

মেশিন লার্নিং এর কাজের সাধারণ সিস্টেম শেখার জন্য উপলব্ধ “সংকেত” বা “প্রতিক্রিয়া” শেখার প্রকৃতির উপর ভিত্তি করে, তিনটি বিস্তৃত বিভাগে শ্রেণীবদ্ধ করা হয়। এইগুলো:

১. সুপারভাইজড লার্নিংঃ কম্পিউটারটি একটি “শিক্ষক” দ্বারা প্রদত্ত উদাহরণ ইনপুট এবং তাদের পছন্দসই আউটপুটগুলির সাথে উপস্থাপিত হয়, এবং লক্ষ্য হল একটি সাধারণ নিয়ম শিখানো যা আউটপুটগুলিতে ইনপুটগুলির ম্যাপ করে।

২.আনসুপারভাইজড লার্নিংঃ আনসুপারভাইসড লার্নিং এ প্রোগ্রামকে কিছু ডেটা দেওয়া হয়। প্রোগ্রাম ঐ ডেটার উপর নির্ভর করে ডিসিশন দেয়। যেমন এক ঝুড়ি ফল রয়েছে। প্রোগ্রাম ভিন্ন ভিন্ন ফল কে ভিন্ন ভিন্ন ক্যাটেগরিতে ভাগ করবে, এটা হচ্ছে আনসুপারভাইসড লার্নিং এর উদাহরণ।

৩. রেইনফোর্সমেন্ট লার্নিংঃ একটি কম্পিউটার প্রোগ্রাম একটি গতিশীল এনভায়রনমেন্ট সাথে ইন্টারেক্ট করে যেখানে এটি একটি নির্দিষ্ট লক্ষ্য (যেমন একটি গাড়ির ড্রাইভিং বা প্রতিপক্ষের বিরুদ্ধে একটি খেলা খেলছে) সম্পাদন করে ।প্রোগ্রামটি পুরস্কার এবং শাস্তিগুলির ক্ষেত্রে প্রতিক্রিয়া প্রদান করে কারণ এটি তার সমস্যা স্থানটি নেভিগেট করে।

এই সিরিজ আমরা যেমন কিছু সুপরিচিত শেখার অ্যালগরিদম একটি কটাক্ষপাত করতে যাচ্ছি:

১. ডিসিশন ট্রি;

২. লিনিয়ার রিগ্রেশন;

৩. লজিস্টিক রিগ্রেশন;

৪. SVM(সাপোর্ট ভেক্টর মেশিন);

৫. Naive Bayes;

৬. KNN (ক-নেয়ারেস্ট নেইবার্স);

৭. রান্ডম ফরেস্ট( Random Forest);

৮. নিউরাল নেটওয়ার্কস(Neural Networks);

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

আরও পড়ুন:

পরবর্তী:

পরবর্তী নিবন্ধে আমরা ডিসিশন ট্রি এবং ক্লাসিক আইরিস ডেটাসেট সম্পর্কে আলোচনা করতে যাচ্ছি (প্রকৃতপক্ষে এটি আমাদের মেশিন লার্নিংয়ের জন্য হ্যালো ওয়ার্ল্ড হবে)।

আপনি এই সম্পর্কে কি মনে করেন আমাকে জানাতে, যদি আপনি লেখা উপভোগ করেন তাহলে নীচে কমেন্ট করুন ।

Happy learning.

error: