আপনার বৈশিষ্ট্যগুলির মধ্যে কিছু আলাদা মান হতে পারে যেগুলি একটি ক্রমানুসারে সম্পর্কযুক্ত নয়৷ উদাহরণের মধ্যে কুকুরের জাত, শব্দ বা পোস্টাল কোড অন্তর্ভুক্ত। এই বৈশিষ্ট্যগুলি শ্রেণীবদ্ধ হিসাবে পরিচিত এবং প্রতিটি মানকে একটি বিভাগ বলা হয়। আপনি শ্রেণীগত মানগুলিকে স্ট্রিং বা এমনকি সংখ্যা হিসাবে উপস্থাপন করতে পারেন, তবে আপনি এই সংখ্যাগুলির তুলনা করতে বা একে অপরের থেকে বিয়োগ করতে পারবেন না।
প্রায়শই, আপনার এমন বৈশিষ্ট্যগুলি উপস্থাপন করা উচিত যাতে সংখ্যাসূচক ডেটার পরিবর্তে শ্রেণীগত ডেটা হিসাবে পূর্ণসংখ্যার মান রয়েছে। উদাহরণস্বরূপ, একটি পোস্টাল কোড বৈশিষ্ট্য বিবেচনা করুন যেখানে মানগুলি পূর্ণসংখ্যা। আপনি যদি ভুলবশত এই বৈশিষ্ট্যটিকে সংখ্যাগতভাবে উপস্থাপন করেন, তাহলে আপনি মডেলটিকে বিভিন্ন পোস্টাল কোডের মধ্যে একটি সংখ্যাসূচক সম্পর্ক খুঁজে বের করতে বলছেন; উদাহরণস্বরূপ, আপনি আশা করছেন যে মডেলটি নির্ধারণ করবে যে পোস্টাল কোড 20004 পোস্টাল কোড 10002 হিসাবে সিগন্যালের দ্বিগুণ (বা অর্ধেক)। পোস্টাল কোডগুলিকে শ্রেণীবদ্ধ ডেটা হিসাবে উপস্থাপন করে, আপনি প্রতিটি পৃথক পোস্টাল কোডের জন্য পৃথক সংকেত খুঁজে পেতে মডেলটিকে সক্ষম করবেন।
যদি একটি ডেটা ক্ষেত্রের বিভাগের সংখ্যা ছোট হয়, যেমন সপ্তাহের দিন বা রঙের সীমিত প্যালেট, আপনি প্রতিটি বিভাগের জন্য একটি অনন্য বৈশিষ্ট্য তৈরি করতে পারেন। উদাহরণ স্বরূপ:
চিত্র 1: প্রতিটি বিভাগের জন্য একটি অনন্য বৈশিষ্ট্য।
একটি মডেল তারপর প্রতিটি রঙের জন্য একটি পৃথক ওজন শিখতে পারে। উদাহরণস্বরূপ, সম্ভবত মডেলটি শিখতে পারে যে লাল গাড়িগুলি সবুজ গাড়ির চেয়ে বেশি ব্যয়বহুল।
বৈশিষ্ট্যগুলি তারপর ইন্ডেক্স করা যেতে পারে।
চিত্র 2: সূচিবদ্ধ বৈশিষ্ট্য।
এই ধরণের ম্যাপিংকে শব্দভাণ্ডার বলা হয়।
শব্দভান্ডার
একটি শব্দভান্ডারে, প্রতিটি মান একটি অনন্য বৈশিষ্ট্য উপস্থাপন করে।
Index Number | Category |
---|---|
0 | Red |
1 | Orange |
2 | Blue |
... | ... |
মডেলটি স্ট্রিং থেকে সূচকটি দেখায়, বৈশিষ্ট্য ভেক্টরের সংশ্লিষ্ট স্লটে 1.0 এবং বৈশিষ্ট্য ভেক্টরের অন্যান্য সমস্ত স্লটে 0.0 নির্ধারণ করে।
চিত্র 3: বৈশিষ্ট্য ভেক্টরের জন্য বিভাগগুলি ম্যাপ করার জন্য শেষ থেকে শেষ প্রক্রিয়া।
বিক্ষিপ্ত প্রতিনিধিত্ব সম্পর্কে নোট
যদি আপনার বিভাগগুলি সপ্তাহের দিন হয়, তাহলে আপনি, উদাহরণস্বরূপ, বৈশিষ্ট্য ভেক্টর [0, 0, 0, 0, 1, 0, 0] দিয়ে শুক্রবারের প্রতিনিধিত্ব করতে পারেন। যাইহোক, ML সিস্টেমের বেশিরভাগ বাস্তবায়ন এই ভেক্টরকে মেমরিতে একটি স্পার্স উপস্থাপনা সহ উপস্থাপন করবে। একটি সাধারণ উপস্থাপনা হল অ-খালি মান এবং তাদের সংশ্লিষ্ট সূচকগুলির একটি তালিকা-উদাহরণস্বরূপ, মানের জন্য 1.0 এবং সূচকের জন্য [4]। এটি আপনাকে 0 সেকেন্ডের একটি বিশাল পরিমাণ সঞ্চয় করার জন্য কম মেমরি ব্যয় করতে দেয় এবং আরও দক্ষ ম্যাট্রিক্স গুণনের অনুমতি দেয়। অন্তর্নিহিত গণিতের পরিপ্রেক্ষিতে, [4] হল [0, 0, 0, 0, 1, 0, 0] এর সমতুল্য।
Vocab এর বাইরে (OOV)
সংখ্যাসূচক ডেটাতে যেমন আউটলিয়ার থাকে, তেমনি শ্রেণীবদ্ধ ডেটাও থাকে। উদাহরণস্বরূপ, গাড়ির বর্ণনা সম্বলিত একটি ডেটা সেট বিবেচনা করুন। এই ডেটা সেটের অন্যতম বৈশিষ্ট্য গাড়ির রঙ হতে পারে। ধরুন সাধারণ গাড়ির রঙগুলি (কালো, সাদা, ধূসর এবং আরও) এই ডেটা সেটটিতে ভালভাবে উপস্থাপন করা হয়েছে এবং আপনি তাদের প্রতিটিকে একটি বিভাগে তৈরি করেছেন যাতে আপনি শিখতে পারেন যে এই বিভিন্ন রঙগুলি কীভাবে মানকে প্রভাবিত করে। যাইহোক, ধরুন এই ডেটা সেটটিতে এককেন্দ্রিক রঙের (মাউভ, পুস, অ্যাভোকাডো) অল্প সংখ্যক গাড়ি রয়েছে। এই রঙগুলির প্রতিটিকে একটি পৃথক বিভাগ দেওয়ার পরিবর্তে, আপনি এগুলিকে আউট অফ ভোকাব ( OOV ) নামক একটি ক্যাচ-অল ক্যাটাগরিতে নিয়ে যেতে পারেন। OOV ব্যবহার করে, সিস্টেমটি সেই বিরল রঙগুলির প্রতিটিতে প্রশিক্ষণের সময় নষ্ট করবে না।
হ্যাশিং
আরেকটি বিকল্প হল আপনার উপলব্ধ ইনডেক্স স্পেসে প্রতিটি স্ট্রিং (বিভাগ) হ্যাশ করা। হ্যাশিং প্রায়শই সংঘর্ষের কারণ হয়, তবে আপনি একই সূচকে বিভাগগুলির কিছু ভাগ করা উপস্থাপনা শেখার মডেলের উপর নির্ভর করেন যা প্রদত্ত সমস্যার জন্য ভাল কাজ করে।
গুরুত্বপূর্ণ পদের জন্য, সংঘর্ষের কারণে হ্যাশিং শব্দভান্ডার নির্বাচন করার চেয়ে খারাপ হতে পারে। অন্যদিকে, হ্যাশিংয়ের জন্য আপনাকে একটি শব্দভাণ্ডার একত্রিত করতে হবে না, যা সুবিধাজনক যদি সময়ের সাথে বৈশিষ্ট্যের বন্টন ব্যাপকভাবে পরিবর্তিত হয়।
চিত্র 4: একটি শব্দভান্ডারে আইটেম ম্যাপিং।
হ্যাশিং এবং শব্দভান্ডারের হাইব্রিড
আপনি একটি হাইব্রিড পদ্ধতি গ্রহণ করতে পারেন এবং একটি শব্দভান্ডারের সাথে হ্যাশিং একত্রিত করতে পারেন। আপনার ডেটার সবচেয়ে গুরুত্বপূর্ণ বিভাগের জন্য একটি শব্দভাণ্ডার ব্যবহার করুন, তবে একাধিক OOV বালতি দিয়ে OOV বালতি প্রতিস্থাপন করুন এবং বালতিতে বিভাগ নির্ধারণ করতে হ্যাশিং ব্যবহার করুন।
হ্যাশ বাকেটের বিভাগগুলি অবশ্যই একটি সূচক ভাগ করবে এবং মডেলটি সম্ভবত ভাল ভবিষ্যদ্বাণী করবে না, তবে আমরা আমাদের শব্দভান্ডারের বাইরের বিভাগগুলি শেখার চেষ্টা করার জন্য কিছু পরিমাণ মেমরি বরাদ্দ করেছি।
চিত্র 5: শব্দভান্ডার এবং হ্যাশিংয়ের সমন্বয়ে হাইব্রিড পদ্ধতি।
এমবেডিং সম্পর্কে নোট করুন
মেশিন লার্নিং ক্র্যাশ কোর্স থেকে স্মরণ করুন যে একটি এমবেডিং একটি শ্রেণীবদ্ধ বৈশিষ্ট্য যা একটি অবিচ্ছিন্ন-মূল্যবান বৈশিষ্ট্য হিসাবে উপস্থাপন করা হয়। গভীর মডেলগুলি প্রায়শই সূচকগুলিকে একটি সূচক থেকে এমবেডিংয়ে রূপান্তর করে।
চিত্র 6: এম্বেডিংয়ের মাধ্যমে স্পারস ফিচার ভেক্টর
আমরা আলোচনা করেছি অন্য রূপান্তরগুলি ডিস্কে সংরক্ষণ করা যেতে পারে, কিন্তু এমবেডিংগুলি ভিন্ন। যেহেতু এম্বেডিংগুলি প্রশিক্ষিত, সেগুলি একটি সাধারণ ডেটা রূপান্তর নয়—এগুলি মডেলের অংশ৷ তারা অন্যান্য মডেল ওজনের সাথে প্রশিক্ষিত, এবং কার্যকরীভাবে ওজনের একটি স্তরের সমতুল্য।
কি pretrained এমবেডিং সম্পর্কে? প্রশিক্ষণের সময় পূর্বপ্রশিক্ষিত এম্বেডিংগুলি এখনও সাধারণত পরিবর্তনযোগ্য, তাই তারা এখনও ধারণাগতভাবে মডেলের অংশ।