মেশিন লার্নিং নিয়ে কিছু কথা…..
মেশিন লার্নিং হল কৃত্রিম বুদ্ধিমত্তা (AI) এবং কম্পিউটার বিজ্ঞানের একটি শাখা যা মানুষ যেভাবে শেখে তা অনুকরণ করতে পারে এবং প্রচুর পরিমাণে ডেটা এবং কম্পিউটার বিশ্লেষণ করে শুধুমাত্র ইনপুট ডেটার উপর ভিত্তি করে সিদ্ধান্ত নিতে পারে।
Real Life Example ?
খুব কমন একটি উদাহরন হল ইউটিউব। ধরুন আপনি ইউটিউবে প্রায়ই বাংলাদেশের ক্রিকেট দলের বিজয়ী ম্যাচ গুলোর হাইলাইটস দেখতে প্রছন্দ করেন।অবাক করা বিষয় হল ইউটিউব আপনাকে হাইলাইটস গুলো গুছিয়ে রিকমান্ড করবে। একি সাথে অন্য অন্য দলের ফাইটিং হাইলাইটস গুলো ও সাজেস্ট করবে। একি ভাবে ইউটিউব পছন্দের গান সাজেস্ট ও করে।
ফেসবুকে যখন কেউ কোন ইমেজ উপলোড করে ট্যাগ করে তখন ফেসবুক ইমেজের মধ্যে থেকে তাদের ফেস সিলেক্ট করে। ফেসবুক এই কাজটি করার জন্য মেশিন লার্নিং ব্যবহার করে থাকে। অ্যাড প্রদর্শন,রোগ নির্নয়(ইমেজ প্রসেসিং),বায়োইনফরমেটিক্স,ওয়েদার ফরকাস্ট, স্প্যাম মেইল ডিটেক্ট(টেক্সট অ্যানালাইসিস) গবেষনা ইত্যাদি ক্ষেত্রে মেশিন লার্নিং ব্যবহার করা হয়।
মেশিন লার্নিং কেনো শিখতে হবে?
বলা হয়ে থাকে পরবর্তি যুগ হচ্ছে ডাটার যুগ। তাই ডাটা নিয়ে কাজ করতে হলে অর্থাৎ Data scientist হতে হলে আমাদের কে অবশ্যই মেশিন লার্নিং জানতে হবে। বর্তমানে এটি একটি অন্যতম সেরা এবং চ্যালেঞ্জিং প্রফেশন। Machine Learning সহজ করার জন্য অনেক গুলো লাইব্রেরী রয়েছে, যেমন পাইথনের জন্য scikit-learn, রয়েছে গুগলের TensorFlow, keras, Pytorch ইত্যাদি, R এ ggplot2, dplyr ইত্যাদি মাইক্রোসফটের Azure ML Studio ইত্যাদি। Machine Learning এর থিওরি পার্ট হয়তো একটু কঠিন মনে হতে পারে, কিন্তু ব্যাসিক আইডিয়া নেওয়ার পর প্র্যাক্টিক্যাল কাজ করা অনেক সহজ করে তুলছে এসব লাইব্রেরী গুলো। এগুলো কমপ্লেক্স সব অ্যালগরিদম ইমপ্লিমেন্ট করে রেখেছে।
মেশিন লার্নিংয়ের প্রকারভেদঃ
১. সুপারভাইসড লার্নিং(রিগ্রেশন,ক্লাসিফিকেশন)।
২. আনসুপারভাইসড লার্নিং(পি সি এ, ক্লাস্টারিং, ফেক্টর এনালাইসিস ইত্যাদি)।
৩. সেমি-সুপারভাইসড লার্নিং।
৪. রিইনফোর্সমেন্ট লার্নিং(সেলফ ড্রাইভেন কার, রোবট , এ আই গেইমস ইত্যাদি)।
বিঃদ্রঃ গুগলে আলাদা আলাদা করে সার্চ করে ডিটেলস শিখে নিবেন।
এগুলি হল Step-by-Step Guides যা আপনি খুঁজছেনঃ
- কিছু ফান্ডামেন্টাল জিনিসঃ
১. মাইন্ড সেট ঠিক করুন
২. প্রবালিটি(Probability Distributions,
৩. পরিসংখ্যান মেথড
৪. লিনিয়ার আলজেবরা
৫. অপ্টিমাইজেশন(Optimization Algorithms, Optimization Topics ইত্যাদি)
৬. ক্যালকুলাস ইত্যাদি
- বিগেনার লেভেলঃ
১. পাইথন স্কিল
২. ML অ্যালগরিদম
৩. ML+ WEKA(No code)
৪. ML+ Python(Code)
৫. ML+R(Code)
৬. টাইম সিরিজ এনালাইসিস
৭. ডাটা প্রি-প্রসেসিং(ডাটা ক্লিনিং, মিসিং ভ্যালু হ্যান্ডলিং, আউটলেয়ার ডেটেকশান)
৮. ভিজুয়ালাইজেশন( Box Plot, Histogram, Bar Plot, Pie Chart, Line Chart etc.)
- ইন্টারমেডিয়েট লেভেলঃ
১. ইনসেমবল মেথড(Meta Learning, Bagging, Boosting, Stacking ইত্যাদি)
২. ডিপ লানিং( টেন্সর ফ্লো, কেরাস, পাইটর্স, নিউরাল নেটওয়ার্ক ইত্যাদি)
৩. Imbalanced ক্লাসিফেকেশান
- আডভান্সড লেভেলঃ
১. Long Short-Term Memory(LSTM)
২. Natural Language Processing( NLP)
৩. Computer Vision(OpenCV)
৪. GAN ইত্যাদি
কিছু মেশিন লানিং অ্যালগরিদমঃ
১. লিনিয়ার রিগ্রেশন(সিম্পল, মাল্টিপল, পলিনোমিয়াল ইত্যাদি)
২. নেইভ বেইজ ( মাল্টিনোমিয়াল, বার্নোলি ইত্যাদি)
৩. ডিসিশন ট্রি (রেন্ডম ট্রি, জে ৪৮ ইত্যাদি)
৪. র্যান্ডম ফরেস্ট
৫. কে নিয়ারেস্ট নেইবোরস
৬. বুস্টিং অ্যালগরিদম( অ্যাডা, গ্রাডিয়েন্ট, এক্সট্রিম গ্রাডিয়েন্ট ইত্যাদি)
৭. সাপোর্ট ভেক্টর মেশিন
৮. ক্লাস্টারিং ( কে-মিনস, হায়ারার্কিক্যাল ইত্যাদি)
৯.ডাইমেনশন রিডাকশন( প্রিন্সিপ্যাল কম্পোনেন্ট এনালাইসিস, ফেক্টর এনালাইসিস ইত্যাদি)
১০. কিউ লার্নিং সহ আর ও অনেক।
আরো কিছু প্রশ্নের উত্তর
- কিভাবে ডাটা সায়েন্স শুরু করবেন?(এখানে)
- ডাটা সায়েন্সের জন্য Statistics এর জ্ঞান কেমন লাগবে ? (এখানে)
- R দিয়ে শুরু করবেন নাকি Python? (এখানে)
- ডাটা সায়েন্সের গবেষনা এবং অনন্য লেখালেখীর জন্য কি টুল ব্যবহার করলে ভাল হবে? (এখানে)
বিঃদ্রঃ গুগলে আলাদা আলাদা করে সার্চ করে ডিটেলস শিখে নিবেন। শুভকামনা✌✌✌