শ্রেণীগত তথ্য: শব্দভান্ডার এবং এক-হট এনকোডিং

পরিমাপ শব্দটি একটি বৈশিষ্ট্য ভেক্টরের উপাদানগুলির সংখ্যার প্রতিশব্দ। কিছু শ্রেণীগত বৈশিষ্ট্য নিম্ন মাত্রিক। যেমন:

বৈশিষ্ট্যের নাম #টি বিভাগ নমুনা বিভাগ
তুষারপাত_আজ 2 সত্য, মিথ্যা
দক্ষতা_স্তর 3 শিক্ষানবিস, অনুশীলনকারী, বিশেষজ্ঞ
ঋতু 4 শীত, বসন্ত, গ্রীষ্ম, শরৎ
সপ্তাহের_দিন 7 সোমবার, মঙ্গলবার, বুধবার
গ্রহ 8 বুধ, শুক্র, পৃথিবী

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

উদাহরণ স্বরূপ, ধরুন আপনি car_color নামের একটি স্বতন্ত্র বৈশিষ্ট্যের উপর ভিত্তি করে একটি গাড়ির দামের পূর্বাভাস দেওয়ার জন্য একটি মডেল তৈরি করছেন। সম্ভবত লাল গাড়ির মূল্য সবুজ গাড়ির চেয়ে বেশি। যেহেতু নির্মাতারা সীমিত সংখ্যক বাহ্যিক রং অফার করে, তাই car_color হল একটি নিম্ন-মাত্রিক শ্রেণীগত বৈশিষ্ট্য। নিম্নলিখিত চিত্রটি car_color জন্য একটি শব্দভান্ডার (সম্ভাব্য মান) প্রস্তাব করে:

চিত্র 1. প্যালেটের প্রতিটি রঙ একটি পৃথক হিসাবে উপস্থাপিত হয়       বৈশিষ্ট্য অর্থাৎ ফিচার ভেক্টরে প্রতিটি রঙই আলাদা বৈশিষ্ট্য।       উদাহরণস্বরূপ, 'লাল' একটি বৈশিষ্ট্য, 'কমলা' একটি পৃথক বৈশিষ্ট্য,       এবং তাই
চিত্র 1. প্রতিটি বিভাগের জন্য একটি অনন্য বৈশিষ্ট্য।

অনুশীলন: আপনার বোঝার পরীক্ষা করুন

সত্য বা মিথ্যা: একটি মেশিন লার্নিং মডেল এই মানগুলিকে সংখ্যাসূচক ভেক্টরে রূপান্তর না করে সরাসরি "লাল" এবং "কালো" এর মতো কাঁচা স্ট্রিং মানগুলিতে প্রশিক্ষণ দিতে পারে।
সত্য
প্রশিক্ষণের সময়, একটি মডেল শুধুমাত্র ফ্লোটিং-পয়েন্ট নম্বরগুলিকে ম্যানিপুলেট করতে পারে। স্ট্রিং "Red" একটি ভাসমান-বিন্দু সংখ্যা নয়। আপনাকে অবশ্যই "Red" এর মত স্ট্রিংগুলিকে ফ্লোটিং-পয়েন্ট সংখ্যায় রূপান্তর করতে হবে৷
মিথ্যা
একটি মেশিন লার্নিং মডেল শুধুমাত্র ফ্লোটিং-পয়েন্ট মান সহ বৈশিষ্ট্যগুলিতে প্রশিক্ষণ দিতে পারে, তাই প্রশিক্ষণের আগে আপনাকে সেই স্ট্রিংগুলিকে ফ্লোটিং-পয়েন্ট মানগুলিতে রূপান্তর করতে হবে।

সূচক সংখ্যা

মেশিন লার্নিং মডেলগুলি শুধুমাত্র ফ্লোটিং-পয়েন্ট নম্বরগুলিকে ম্যানিপুলেট করতে পারে। অতএব, আপনাকে অবশ্যই প্রতিটি স্ট্রিংকে একটি অনন্য সূচক নম্বরে রূপান্তর করতে হবে, যেমনটি নিম্নলিখিত চিত্রে রয়েছে:

চিত্র 2. প্রতিটি রঙ একটি অনন্য পূর্ণসংখ্যা মানের সাথে যুক্ত। জন্য       উদাহরণস্বরূপ, 'লাল' পূর্ণসংখ্যা 0 এর সাথে যুক্ত, 'কমলা' এর সাথে       পূর্ণসংখ্যা 1, এবং তাই।
চিত্র 2. সূচিবদ্ধ বৈশিষ্ট্য।

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

এক-গরম এনকোডিং

একটি শব্দভান্ডার তৈরির পরবর্তী ধাপ হল প্রতিটি সূচক নম্বরকে তার এক-হট এনকোডিং- এ রূপান্তর করা। এক-হট এনকোডিং-এ:

  • প্রতিটি বিভাগকে N উপাদানগুলির একটি ভেক্টর (অ্যারে) দ্বারা প্রতিনিধিত্ব করা হয়, যেখানে N হল বিভাগের সংখ্যা। উদাহরণস্বরূপ, যদি car_color আটটি সম্ভাব্য বিভাগ থাকে, তাহলে প্রতিনিধিত্বকারী এক-হট ভেক্টরের আটটি উপাদান থাকবে।
  • এক-গরম ভেক্টরের উপাদানগুলির মধ্যে একটির মান 1.0 আছে; বাকি সব উপাদানের মান 0.0 আছে।

উদাহরণস্বরূপ, নিম্নলিখিত টেবিলটি car_color এ প্রতিটির জন্য এক-হট এনকোডিং দেখায়:

বৈশিষ্ট্য লাল কমলা নীল হলুদ সবুজ কালো বেগুনি বাদামী
"লাল" 1 0 0 0 0 0 0 0
"কমলা" 0 1 0 0 0 0 0 0
"নীল" 0 0 1 0 0 0 0 0
"হলুদ" 0 0 0 1 0 0 0 0
"সবুজ" 0 0 0 0 1 0 0 0
"কালো" 0 0 0 0 0 1 0 0
"বেগুনি" 0 0 0 0 0 0 1 0
"বাদামী" 0 0 0 0 0 0 0 1

এটি এক-হট ভেক্টর, স্ট্রিং বা সূচক নম্বর নয়, যা বৈশিষ্ট্য ভেক্টরে পাস হয়। মডেলটি বৈশিষ্ট্য ভেক্টরের প্রতিটি উপাদানের জন্য একটি পৃথক ওজন শেখে।

নিম্নলিখিত চিত্রটি শব্দভান্ডার উপস্থাপনার বিভিন্ন রূপান্তরের পরামর্শ দেয়:

চিত্র 3. বিভাগগুলিকে ম্যাপ করার জন্য এন্ড-টু-এন্ড প্রক্রিয়ার ডায়াগ্রাম       বৈশিষ্ট্য ভেক্টর। ডায়াগ্রামে, ইনপুট বৈশিষ্ট্যগুলি হল 'হলুদ',       'কমলা', 'ব্লু', এবং 'ব্লু' দ্বিতীয়বার।  সিস্টেম একটি সঞ্চিত ব্যবহার করে       শব্দভান্ডার ('লাল' হল 0, 'কমলা' হল 1, 'নীল' হল 2, 'হলুদ' হল 3, এবং       তাই) একটি আইডিতে ইনপুট মান ম্যাপ করতে। এইভাবে, সিস্টেম মানচিত্র 'হলুদ',       'কমলা', 'ব্লু', এবং 'ব্লু' থেকে 3, 1, 2, 2। সিস্টেমটি তখন রূপান্তরিত হয়       একটি এক-গরম বৈশিষ্ট্য ভেক্টর যারা মান. উদাহরণস্বরূপ, একটি সিস্টেম দেওয়া       আটটি সম্ভাব্য রঙের সাথে, 3 হয়ে যায় 0, 0, 0, 1, 0, 0, 0, 0।
চিত্র 3. বৈশিষ্ট্য ভেক্টরের জন্য বিভাগগুলি ম্যাপ করার শেষ থেকে শেষ প্রক্রিয়া।

বিক্ষিপ্ত প্রতিনিধিত্ব

একটি বৈশিষ্ট্য যার মান প্রধানত শূন্য (বা খালি) একটি স্পার্স বৈশিষ্ট্য বলা হয়। অনেক শ্রেণীবদ্ধ বৈশিষ্ট্য, যেমন car_color , স্পার্স বৈশিষ্ট্য হতে থাকে। স্পার্স রিপ্রেজেন্টেশন মানে স্পার্স ভেক্টরে 1.0 এর অবস্থান সংরক্ষণ করা। উদাহরণস্বরূপ, "Blue" এর জন্য এক-গরম ভেক্টর হল:

[0, 0, 1, 0, 0, 0, 0, 0]

যেহেতু 1 পজিশন 2 এ রয়েছে (0 এ গণনা শুরু করার সময়), পূর্ববর্তী ওয়ান-হট ভেক্টরের জন্য স্পার্স উপস্থাপনা হল:

2

লক্ষ্য করুন যে স্পার্স উপস্থাপনা আট-উপাদান এক-হট ভেক্টরের তুলনায় অনেক কম মেমরি গ্রহণ করে। গুরুত্বপূর্ণভাবে, মডেলটিকে অবশ্যই ওয়ান-হট ভেক্টরে প্রশিক্ষণ দিতে হবে, স্পার্স উপস্থাপনা নয়।

সুনির্দিষ্ট তথ্যে বহিরাগত

সাংখ্যিক তথ্যের মতো, শ্রেণীবদ্ধ ডেটাতেও বহিরাগত থাকে। ধরুন car_color শুধুমাত্র জনপ্রিয় রংই নয়, কিছু কমই ব্যবহৃত আউটলিয়ার রংও রয়েছে, যেমন "Mauve" বা "Avocado" । এই বহিরাগত রঙগুলির প্রতিটিকে একটি পৃথক বিভাগ দেওয়ার পরিবর্তে, আপনি সেগুলিকে আউট-অফ-ভোকাবুলারি (OOV) নামে একটি একক "ক্যাচ-অল" বিভাগে নিয়ে যেতে পারেন। অন্য কথায়, সমস্ত বহিরাগত রং একটি একক আউটলার বালতিতে বাঁধা হয়। সিস্টেমটি সেই আউটলায়ার বালতির জন্য একটি একক ওজন শেখে।

উচ্চ-মাত্রিক শ্রেণীগত বৈশিষ্ট্য এনকোডিং

কিছু শ্রেণীগত বৈশিষ্ট্যের উচ্চ সংখ্যক মাত্রা রয়েছে, যেমন নিম্নোক্ত সারণীতে রয়েছে:

বৈশিষ্ট্যের নাম #টি বিভাগ নমুনা বিভাগ
ইংরেজিতে_শব্দ ~500,000 "খুশি", "হাঁটা"
US_postal_codes ~42,000 "02114", "90301"
শেষ_নাম_জার্মানিতে ~850,000 "শ্মিড্ট", "স্নাইডার"

যখন বিভাগের সংখ্যা বেশি হয়, এক-হট এনকোডিং সাধারণত একটি খারাপ পছন্দ। এম্বেডিং , একটি পৃথক এমবেডিং মডিউলে বিস্তারিত, সাধারণত একটি অনেক ভালো পছন্দ। এমবেডিংগুলি মাত্রার সংখ্যা উল্লেখযোগ্যভাবে হ্রাস করে, যা দুটি গুরুত্বপূর্ণ উপায়ে মডেলগুলিকে উপকৃত করে:

  • মডেলটি সাধারণত দ্রুত ট্রেনিং করে।
  • নির্মিত মডেলটি সাধারণত আরও দ্রুত ভবিষ্যদ্বাণী করে। যে, মডেল কম লেটেন্সি আছে.

হ্যাশিং (এটিকে হ্যাশিং ট্রিকও বলা হয়) মাত্রার সংখ্যা কমানোর একটি কম সাধারণ উপায়।