স্বাভাবিককরণ

স্বাভাবিককরণের লক্ষ্য হল বৈশিষ্ট্যগুলিকে একই স্কেলে রূপান্তর করা। এটি মডেলের কর্মক্ষমতা এবং প্রশিক্ষণের স্থায়িত্ব উন্নত করে।

এক নজরে সাধারণীকরণ কৌশল

চারটি সাধারণ স্বাভাবিককরণ কৌশল কার্যকর হতে পারে:

  • একটি পরিসীমা স্কেলিং
  • ক্লিপিং
  • লগ স্কেলিং
  • z-স্কোর

নীচের চার্টগুলি বাম দিকের কাঁচা বৈশিষ্ট্য (দাম) বিতরণে প্রতিটি স্বাভাবিককরণ কৌশলের প্রভাব দেখায়। চার্টগুলি 1985 ওয়ার্ডের অটোমোটিভ ইয়ারবুক থেকে ডেটা সেটের উপর ভিত্তি করে যা অটোমোবাইল ডেটা সেটের অধীনে UCI মেশিন লার্নিং রিপোজিটরির অংশ।

পাঁচটি গ্রাফ: 1. একটি কাঁচা বিতরণ। 2. কাঁচা বন্টন একটি পরিসরে স্কেল করা হয়েছে, যার আকৃতি কাঁচা বিতরণের মতোই রয়েছে৷ 3. কাঁচা বিতরণ ক্লিপ করা হয়েছে, যা সর্বোচ্চ মান বাদ দেয়। 4. লগারিদম দ্বারা স্কেল করা কাঁচা বিতরণ, যা বিতরণের মাঝখানে ডেটা গুচ্ছ করে। 5. ডিস্ট্রিবিউশনের z-স্কোর, যার আকৃতি কাঁচা বন্টনের অনুরূপ।

চিত্র 1. স্বাভাবিকীকরণ কৌশলগুলির সারাংশ।

একটি পরিসরে স্কেলিং

MLCC থেকে স্মরণ করুন যে স্কেলিং মানে ফ্লোটিং-পয়েন্ট বৈশিষ্ট্য মানগুলিকে তাদের প্রাকৃতিক পরিসর থেকে (উদাহরণস্বরূপ, 100 থেকে 900) একটি আদর্শ পরিসরে রূপান্তর করা - সাধারণত 0 এবং 1 (বা কখনও কখনও -1 থেকে +1)। একটি পরিসরে স্কেল করতে নিম্নলিখিত সহজ সূত্রটি ব্যবহার করুন:

\[ x' = (x - x_{min}) / (x_{max} - x_{min}) \]

নিম্নোক্ত উভয় শর্ত পূরণ হলে একটি পরিসরে স্কেল করা একটি ভাল পছন্দ:

  • আপনি আপনার ডেটার আনুমানিক ঊর্ধ্ব এবং নীচের সীমানা জানেন যার কিছু বা কোন আউটলায়ার নেই।
  • আপনার ডেটা প্রায় একই পরিসর জুড়ে বিতরণ করা হয়।

একটি ভাল উদাহরণ হল বয়স। বেশিরভাগ বয়সের মান 0 থেকে 90 এর মধ্যে পড়ে এবং পরিসরের প্রতিটি অংশে যথেষ্ট সংখ্যক লোক রয়েছে।

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

ফিচার ক্লিপিং

যদি আপনার ডেটা সেটে চরম আউটলিয়ার থাকে, তাহলে আপনি ফিচার ক্লিপিং চেষ্টা করতে পারেন, যা উপরের (বা নীচের) সমস্ত বৈশিষ্ট্য মানকে নির্দিষ্ট মানের সাথে ক্যাপ করে। উদাহরণস্বরূপ, আপনি 40 এর উপরে সমস্ত তাপমাত্রার মান ঠিক 40 হতে ক্লিপ করতে পারেন।

আপনি অন্যান্য স্বাভাবিককরণের আগে বা পরে বৈশিষ্ট্য ক্লিপিং প্রয়োগ করতে পারেন।

সূত্র: বহিরাগত এড়াতে সর্বনিম্ন/সর্বোচ্চ মান সেট করুন।

একটি নেটিভ ডিস্ট্রিবিউশন এবং ক্যাপড ডিস্ট্রিবিউশনের তুলনা। নেটিভ ডিস্ট্রিবিউশনে, প্রায় সব মান 1 থেকে 4 এর মধ্যে পড়ে, কিন্তু মানের একটি ছোট শতাংশ 5 এবং 55 এর মধ্যে থাকে। ক্যাপড ডিস্ট্রিবিউশনে, 4 এর উপরে সমস্ত মান এখন 4 এর মান আছে।

চিত্র 2. একটি কাঁচা বিতরণ এবং এর ক্লিপড সংস্করণের তুলনা করা।

আরেকটি সহজ ক্লিপিং কৌশল হল z-স্কোর দ্বারা +-Nσ (উদাহরণস্বরূপ, +-3σ পর্যন্ত সীমা) ক্লিপ করা। মনে রাখবেন σ হল আদর্শ বিচ্যুতি।

লগ স্কেলিং

লগ স্কেলিং একটি বিস্তৃত পরিসরকে সংকীর্ণ পরিসরে সংকুচিত করতে আপনার মানগুলির লগ গণনা করে।

\[ x' = log(x) \]

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

কাঁচা ডেটা বনাম কাঁচা ডেটার লগ তুলনাকারী দুটি গ্রাফ। কাঁচা ডেটা গ্রাফটি মাথায় অনেক রেটিং দেখায়, তারপরে একটি লম্বা লেজ দেখায়। লগ গ্রাফের আরও সমান ডিস্ট্রিবিউশন রয়েছে।

চিত্র 3. একটি কাঁচা বন্টন এর লগের সাথে তুলনা করা।

জেড-স্কোর

জেড-স্কোর হল স্কেলিং এর একটি বৈচিত্র যা গড় থেকে দূরে স্ট্যান্ডার্ড বিচ্যুতির সংখ্যা উপস্থাপন করে। আপনার ফিচার ডিস্ট্রিবিউশনের মানে = 0 এবং std = 1 আছে তা নিশ্চিত করতে আপনি z-স্কোর ব্যবহার করবেন। কিছু আউটলায়ার থাকলে এটি দরকারী, কিন্তু এতটা চরম নয় যে আপনার ক্লিপিং প্রয়োজন।

একটি বিন্দু, x এর z-স্কোর গণনা করার সূত্রটি নিম্নরূপ:

\[ x' = (x - μ) / σ \]

একটি z-স্কোর দিয়ে স্বাভাবিক করা ডেটা বনাম কাঁচা ডেটার তুলনা করা দুটি গ্রাফ। কাঁচা ডেটা 5,000 থেকে 45,000 পর্যন্ত একটি রুক্ষ পয়সন বিতরণ দেখায়। স্বাভাবিক করা ডেটা -1 থেকে +4 পর্যন্ত।

চিত্র 4. একটি কাঁচা বিতরণকে তার জেড-স্কোর বিতরণের সাথে তুলনা করা।

লক্ষ্য করুন যে z-স্কোর কাঁচা মানগুলিকে চেপে ধরে যেগুলির পরিসীমা ~40000 এর মধ্যে মোটামুটিভাবে -1 থেকে +4 পর্যন্ত একটি পরিসরে।

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

সারসংক্ষেপ

স্বাভাবিকীকরণ কৌশল সূত্র কখন ব্যবহার করতে হবে
রৈখিক স্কেলিং$$ x' = (x - x_{min}) / (x_{max} - x_{min}) $$ যখন বৈশিষ্ট্যটি একটি নির্দিষ্ট পরিসরে কম-বেশি সমানভাবে বিতরণ করা হয়।
ক্লিপিং যদি x > সর্বোচ্চ, তাহলে x' = সর্বোচ্চ। যদি x < মিনিট, তাহলে x' = মিনিট যখন বৈশিষ্ট্য কিছু চরম outliers রয়েছে.
লগ স্কেলিং x' = লগ(x) যখন বৈশিষ্ট্যটি শক্তি আইনের সাথে সামঞ্জস্যপূর্ণ হয়।
জেড-স্কোর x' = (x - μ) / σ যখন বৈশিষ্ট্য বিতরণে চরম আউটলায়ার থাকে না।