মানুষ কিভাবে সময়ের সাথে সাথে বড় হয়? কিভাবে তার চিন্তাশক্তি দিনে দিনে বৃদ্ধি পায়, ম্যাচিউর হয়ে ওঠে, এবং এভাবে একসময় বুদ্ধিবৃত্তিক প্রাণী হিসেবে পরিচিতি পায়?
এই প্রশ্নগুলোর উত্তর খুজতে গিয়েই তৈরী হয়েছে আরেক প্রশ্ন। মানুষকে কি আদৌ মেশিনের দ্বারা রিপ্লেস করা যাবে? গেলে তা কতটুকু করা যাবে? এবং এই ধারনাকে বাস্তবায়ন করতে গিয়েই আমরা পরিচিত হই ডেটা-সায়েন্স, মেশিন লার্ণিং, ডিপ লার্নিং, আর্টিফিশিয়াল ইন্টেলিজেন্স এবং এরকম আরও অনেক নিত্য নতুন কম্পিউটার সায়েন্সের ফিল্ডের সাথে।
শুধু কম্পিউটার সায়েন্সের বললে ভুল হবে। এর পরে যুক্ত হয়েছে ম্যাথমেটিকস, প্রোবাবিলিটি, স্ট্যাটিসটিকস, এমনকি পদার্থবিজ্ঞান, চিকিৎসা এবং মহাকাশ বিজ্ঞানও। সব মিলিয়ে এখন আমাদের কম্পিউটার সায়েন্সের সবচেয়ে বড় রিসার্চ এরিয়া হল এই ডেটা-সায়েন্স। আর মেশিন লার্ণিং হলো এর আরেকটি শাখা-প্রশাখা। আজকে আমরা জানবো কিভাবে একজন রিসার্চ শুরু করতে পারবে এবং রিসার্চের ফিল্ড হিসেবে মেশিন লার্ণিং কিভাবে শিখবে।
রিসার্চ কোথা থেকে শুরু করবো?
রিসার্চ এবং মেশিন লার্ণিং সম্পর্কে অল্প কিছু হলেও জানে এবং অনেক বেশি ইন্টারেস্ট আছ, এমন যে কেউ আমার এই লেখা থেকে উপকৃত হতে পারে। রিসার্চ এবং মেশিন লার্নিং শেখার জন্য প্রাথমিক পর্যায়ে অনেক অনেক ম্যাথ বা প্রোগ্রামিং, কোনোটাই দরকার হবেনা। শুধুমাত্র ইচ্ছা এবং আশক্তি থাকলেই শুরু করতে পারবে এবং পরবর্তী কোনো সময়ে প্রয়োজন অনুযায়ী কোনো স্কিল জেনে নিতে হবে।
এই লেখায় আমি আর নতুন করে রিসার্চ কি বা কেন, বিস্তারিত কিছু বলবো না। এই প্রশ্নগুলোর উত্তরে, রিসার্চের টপিক সিলেকশন থেকে শুরু করে রিসার্চ পেপার পাবলিশ করা পর্যন্ত সম্পূর্ণ গাইডলাইন নিয়ে একটা অনলাইন ফ্রি হ্যান্ডবুক লিখেছি- হতে চাই ক্ষুদে গবেষক
রিসার্চ শুরু করার আগে আমি এই হ্যান্ডবুকটি এক থেকে দেড় ঘন্টা সময় নিয়ে পড়ে শেষ করতে বলবো। তাহলেই অনেক প্রশ্নের উত্তর এবং রিসার্চ কিভাবে শুরু করতে হবে সবই জানা হয়ে যাবে।
মেশিন লার্ণিং কিভাবে শিখবো?
আমি আগেই বলেছি মেশিন লার্ণিং শুরু করতে অনেক বেশি ম্যাথমেটিকস দরকার হবেনা। এরপরেও তিন টাইপের ম্যাথমেটিকস সম্পর্কে বেসিক ধারণা থাকলে ভালো হয়- লিনিয়ার অ্যালজেবরা, ক্যালকুলাস এবং প্রোবাবিলিটি-স্ট্যাটিসটিকস। এজন্য নিচের রিসোর্সগুলো ফলো করা যেতে পারে-
লিনিয়ার অ্যালজেবরার জন্যঃ
Essence of linear algebra (by 3Blue1Brown)
ক্যালকুলাসের জন্যঃ
Essence of Calculus (by 3Blue1Brown)
প্রোবাবিলিটির জন্যঃ
Referance book (3rd Chapter, by Goodfellow)
প্রোপার ইন্টারেস্ট থাকলে এবং সময় দিলে এই তিন টাইপের ম্যাথমেটিকস সম্পর্কে উপরের লিংক থেকে ধারণা নিতে ১ সপ্তাহের বেশি সময় প্রয়োজন হবে না।
এরপরই আমি বলবো মেশিন লার্ণিং বেসিক এবং অ্যালগোরিদমগুলো জানতে হলে নিচের অনলাইন কোর্সটি, কোর্সইরা থেকে ফ্রিতে শুরু করতে-
ইন্ট্রোডাকশন টু মেশিন লার্ণিং
Coursera ML course (by Andrew Ng)
স্ট্যানফোর্ড বিশ্ববিদ্যালয়ের এই কোর্স সম্পর্কে আর নতুন করে বলার কিছু নাই। ইনস্ট্রাক্টর এখানে একদম জিরো থেকে আপনাকে মেশিন লার্ণিং এর হিরোতে রূপান্তরিত করবে। বেসিক বিল্ড করার জন্য এরচেয়ে কার্যকরী কোর্স দ্বিতীয়টি আমার চোখে পড়েনি।
কিন্তু এই কোর্সটি পুরাতন হওয়ায় কিছু ট্রিকসস ফলো করতে হবে। এখানে অ্যালগোরিদমগুলো ইমপ্লিমেন্টেশনের জন্য ম্যাটল্যাব-অকটেভ রিকমেন্ড করা হয়েছে। আমরা করার সময় এই কাজগুলোই পাইথনে প্র্যাকটিস করবো।
এই কোর্সটির ৬ থেকে ৭ টি উইক শেষ হলেই বেশ কিছু টেকনিকস এবং প্রসিডিউর সম্পর্কে জানা যাবে। এর পরেই কিছু রিয়েল ডেটাসেট ইন্টানেটে সার্চ দিয়ে সেগুলোর উপর এপ্লাই করা শিখতে হবে। এবং এভাবে প্রতিটা উইকের পর হাতেকলমে কিছু কাজ করার মাধ্যমে কোর্সটি শেষ করা উচিৎ।
ডেটাসেট সার্চ করার মাধ্যমঃ
https://toolbox.google.com/datasetsearchএই লেখাটি অনেক ছোট করতে চেয়েছিলাম, এরপরও মোটামুটি বড় হয়ে গেছে। আর বেশি কিছু লিখবো না। সর্বশেষ একটি গিট রিপোজিটরী শেয়ার করছি, যেখানে এমন টাইপ আরও অনেক রিসোর্স একত্রিত করা আছে-
https://github.com/Sanzidikawsar/resourcemarksআশা করি রিসোর্সগুলো আগ্রহীদের, এই ফিল্ডে কাজ শুরু করতে উপকারে আসবে।
আমার ব্লগের মূল পোস্টঃ
https://blog.sanzidscloud.com/2019/09/28/researchnml/