৪.২. কি করতে হবে ক্যাগলে?

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

ক্যাগলে কাজ করার পদ্ধতি পানির মতো একদম সোজা।

১. শুরুতেই তৈরি করুন একটা ক্যাগল একাউন্ট।

২. যে ফিল্ডে কাজ করতে চান সেই ফিল্ডের একটা প্রতিযোগিতা বেছে নিন আপনার পছন্দ মতো। প্রতিটা প্রতিযোগিতার লেভেল দেয়া আছে শুরুতেই।

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

৩. ডাউনলোড করে নিন এই প্রতিযোগিতার জন্য দেয়া ট্রেনিং আর টেস্ট ডাটাসেট। আমার দেখা প্রায় বেশির ভাগ ডাটাই আছে দুটো সেটে।

৪. বেছে নিন আপনার পছন্দের প্ল্যাটফর্ম। ‘আর’ অথবা ‘পাইথন’। আমার রিকোমেন্ডেশন হচ্ছে ‘আর’। শুরুতে।

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

৫. ট্রেনিংয়ের ডাটাসেট থেকে ‘কোরিলেশন’গুলো বের করে সেগুলোর ‘আউটকাম’ ফেলে দেবো টেস্ট ডাটাসেটে। কোরিলেশন বের করতে আমাদের দরকার ‘এক্সপ্লোরেটোরি ডাটা এনালাইসিস’।

(সেখানে আমাদের জানতে হবে প্রতিটা ভ্যারিয়েবলের সম্পর্ক। টার্গেট ভ্যারিয়েবলের [আমরা যা জানতে চাচ্ছি] উত্তরে আমরা পৌঁছাবো কিভাবে? ফীচার ইঞ্জিয়ারিং? না ‘এক্সপ্লোরেটোরি ডাটা এনালাইসিস’?)

৬. ঝালিয়ে নিন কোন অ্যালগরিদমএ ভালো কাজ করছে আপনার প্রতিযোগিতা। ক্যাগল কোনদিন জানতে চাইবে না কি ব্যবহার করছেন আপনি। তাদের দরকার উত্তর সহ টেস্ট ডাটাসেট।

৭. মডেলের অ্যাক্যুরেসি যাচাই জানতে আপনার মডেলের উত্তরগুলো পোস্ট করুন ক্যাগল সাইটে।

(টেস্ট ডাটাসেটের আসল ক্লাসিফিকেশনের উত্তর আছে কিন্তু ক্যাগলের কাছে। যাঁচাই করুন ইচ্ছেমতো)

৮. প্রতিদিন দশ বারের মত পোস্ট দেয়া যায় ক্যাগল সাইটে।

(এর কারণ বুঝি এখন, আমরা ডাটাসেট বেশি চিনে গেলে ‘ওভারফিট’ হতে পারে আমাদের উত্তরে। নতুন ডাটাসেটে সেটা ওই অ্যাক্যুরেসি না দিলে বিপদ)

৯. সাইটে ক্লাসিফিকেশনের উত্তর পোস্ট দেবার সাথে সাথে সেটা ‘পাবলিশ’ হয়ে যাবে আমাদের প্রতিযোগিতার লীডারবোর্ডে।

(আমার রিকোমেন্ডেশন হচ্ছে প্রতিটা ‘ফাইন টিউনিং’ পাবলিশ করুন সাইটে। আত্মবিশ্বাস বাড়বে আমাদের। প্রথমদিকে লিডারবোর্ডে জাম্প করা সহজ, যতোই উঠবো ওপরে, ০.০১ অ্যাক্যুরেসি বাড়াতেও খবর হবে আমাদের, আমরাও চাই সেটা)

১০. লিডারবোর্ডে ভালো করছেন যারা, তারা বসে নেই কেউ। কেন? উল্টো প্রশ্ন করি একটা? গুগল কেন কিনলো ক্যাগল? ইন্ডাস্ট্রির সবাই ফলো করে এই লিডারবোর্ড আর সেই মানুষটার কার্নাল। কার্নাল হচ্ছে ওই মানুষটা কিভাবে উঠলো লিডারবোর্ডে। তার বিশদ বর্ণনা। তার সব টেকনিক, স্ক্রিপ্ট সহ। কিভাবে সে বাড়িয়েছে তার স্কোর? কি শিখেছে এই প্রতিযোগিতায়? সঙ্গে থাকছে তার ‘অপ্টিমাইজড’ কোড। কারণ, সে জানে - ছড়িয়ে দিলে জ্ঞান বাড়ে বৈকি কমে না। লিডারবোর্ডে ওপরে ওঠে যারা, দেখেছি চাকুরি খোঁজে না তারা। চাকুরি খোঁজে তাদের। সত্যি বলছি।

আবার বলছি, আপনার মডেল বা অ্যালগরিদম কখনোই জানতে চাইবে না ক্যাগল, তাদের কাছে মডেলের আউটকামটাই আসল। সবচেয়ে বড় কথা হচ্ছে আপনি সমাধান করছেন একটা রিয়েল ওয়ার্ল্ড সমস্যা। আপনার কোড বলবে - আপনি কপি করেছেন - না - আসলে জেনে করেছেন।