ডাউনসাম্পল কেন?


42

ধরুন আমি এমন একটি শ্রেণিবদ্ধ শিখতে চাই যা পূর্বাভাস দেয় যে কোনও ইমেল স্প্যাম কিনা। এবং ধরুন কেবলমাত্র 1% ইমেল স্প্যাম।

সবচেয়ে সহজ কাজটি হ'ল তুচ্ছ শ্রেণিবদ্ধ শিখতে হবে যা বলে যে কোনও ইমেল স্প্যাম নয়। এই শ্রেণিবদ্ধকারী আমাদের 99% নির্ভুলতা দেবে, তবে এটি আকর্ষণীয় কিছু শিখবে না এবং এতে মিথ্যা নেতিবাচকতার 100% হার থাকবে।

এই সমস্যাটি সমাধান করার জন্য, লোকেরা আমাকে "ডাউনস্যাম্পল" করতে বলেছেন, বা উপাত্তের উপসেটটি শিখুন যেখানে 50% উদাহরণ স্প্যাম এবং 50% স্প্যাম নয়।

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

তাহলে আমরা কীভাবে এই সমস্যাটি সমাধান করব?

("আপসাম্পলিং," বা একাধিকবার ইতিবাচক প্রশিক্ষণের উদাহরণগুলি পুনরাবৃত্তি করা যাতে ৫০% ডেটা ধনাত্মক প্রশিক্ষণের উদাহরণ, একই রকম সমস্যায় ভুগছে বলে মনে হয়।)

উত্তর:


37

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

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

মডেলটি এলোমেলো চেয়ে ভাল বলে ধরে নিলে, আপনি স্বজ্ঞাতভাবে দেখতে পাচ্ছেন যে ইতিবাচক শ্রেণিবিন্যাসের জন্য প্রান্তিক বৃদ্ধি (যা কম ইতিবাচক পূর্বাভাসের দিকে নিয়ে যায় ) কম রিক্যাল এবং এর বিপরীতে ব্যয় করে মডেলের নির্ভুলতা বৃদ্ধি করে।

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


ধন্যবাদ, খুব সহায়ক ছিল। আপনি কীভাবে জানবেন যে প্রান্তিক হওয়া উচিত? আপনি কি প্রান্তিক সেটটি স্থাপন করতে চান যাতে ইতিবাচক পূর্বাভাসের অনুপাত জনসংখ্যার ইতিবাচক উদাহরণগুলির অনুপাতের সমান হয়?
জেসিকা 21

2
@ জেসিকা যেমনটি আমি উল্লেখ করেছি, প্রান্তিকতা চয়ন করার একটি সুবিধাজনক উপায় হ'ল রিসিভার অপারেটিং বৈশিষ্ট্যযুক্ত (আরওসি) বক্ররেখা। প্রতিটি থ্রেশহোল্ড আরওসি স্পেসের পয়েন্টের সাথে মিলে যায়। আপনি যখন বক্ররেখার প্লট করেন আপনি আপনার নির্দিষ্ট প্রয়োজনীয়তার সাথে খাপ খায় এমন ভিত্তিতে একটি থ্রেশহোল্ড চয়ন করতে পারেন choose (আপনি বিকল্প হিসাবে যথার্থ-প্রত্যাহার কর্নারও ব্যবহার করতে পারেন)
মার্ক ক্লেসেন

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

1
R[0,1]

@ মার্কক্লেসেন আমি প্লাট স্কেলিং ব্যবহার করার পরামর্শ দিচ্ছি না; পূর্বাভাস প্রত্যয় উত্পন্ন করার এটি একটি "প্রচেষ্টা" তবে এর চেয়ে আরও ভাল বিকল্প রয়েছে। আমি কেবল যা বলছি হাইপারপ্লেনের দূরত্বটি ব্যবহার করা অর্থবহ নয় এবং সাহিত্যের পর্যালোচনা করা নয়, আমি কোনও এসভিএম থেকে আত্মবিশ্বাস তৈরির চেষ্টা করার বিষয়টি প্রথম মনে হওয়া সত্ত্বেও আমি এর আগে কখনও আসিনি।
শেদা

14

প্রকৃত সমস্যাটি আপনার মেট্রিকের পছন্দ:% নির্ভুলতা হ'ল একটি ভারসাম্যহীন ডেটাসেটের ক্ষেত্রে মডেলের সাফল্যের একটি দুর্বল পরিমাপ (ঠিক যে কারণে আপনি উল্লেখ করেছেন: এই ক্ষেত্রে 99% যথার্থতা অর্জন করা তুচ্ছ)।

মডেলটিকে ফিট করার আগে আপনার ডেটাসেটের ভারসাম্য বজায় রাখা একটি খারাপ সমাধান কারণ এটি আপনার মডেলকে পক্ষপাতিত্ব করে এবং (আরও খারাপ) সম্ভাব্য দরকারী ডেটা ফেলে দেয়।

আপনি আপনার ডেটা ব্যালেন্স না করে নিজের নির্ভুলতার মেট্রিককে ভারসাম্য বজায় রাখার চেয়ে অনেক ভাল। উদাহরণস্বরূপ, আপনি ব্যবহার করতে পারে সুষম সঠিকতা যখন মূল্যায়নের আপনি মডেল: (error for the positive class + error for the negative class)/2। আপনি যদি সমস্ত ইতিবাচক বা সমস্ত নেতিবাচক ভবিষ্যদ্বাণী করেন তবে এই মেট্রিকটি 50%একটি দুর্দান্ত সম্পত্তি।

আমার মতে, ডাউন-স্যাম্পল করার একমাত্র কারণ হ'ল যখন আপনার খুব বেশি ডেটা থাকে এবং আপনার মডেলটি ফিট করতে না পারে। অনেক শ্রেণিবদ্ধ (উদাহরণস্বরূপ লজিস্টিক রিগ্রেশন) ভারসাম্যহীন ডেটার উপর জরিমানা করবে।


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

13

সর্বদা @Marc Claesenএকটি দুর্দান্ত উত্তর হিসাবে।

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

কঠোর শ্রেণিবদ্ধকারীদের জন্য ব্যবহৃত পদ্ধতি যা প্রাকৃতিকভাবে সম্ভাব্যতা অনুমানের ফলাফল দেয় না তা হ'ল সংখ্যাগরিষ্ঠ শ্রেণিকে অনুপাতের ভিত্তিতে নিম্নরূপ দেওয়া যা আপনার আগ্রহী ব্যয়টির কার্যকারিতা প্ররোচিত করবে Note দ্রষ্টব্য আপনি যদি 50/50 এ নমুনা দেন তবে আপনি একটি স্বেচ্ছাসেবী ব্যয়ের কাজটি প্ররোচিত করছেন। ব্যয় ফাংশনটি আলাদা তবে স্বেচ্ছাসেবী হিসাবে যেমন আপনি বিস্তৃত হারে নমুনা করেছেন। আপনি প্রায়শই একটি উপযুক্ত নমুনা অনুপাতের পূর্বাভাস দিতে পারেন যা আপনার ব্যয় ফাংশনের সাথে সামঞ্জস্য করে (এটি সাধারণত 50/50 নয়) তবে বেশিরভাগ অনুশীলনকারী যে আমি কেবল কয়েকটি নমুনা অনুপাত চেষ্টা করে এবং তাদের ব্যয় কার্যকারিতার নিকটতম একটি বেছে নিতে বলেছি।


2
এটি আনার জন্য ধন্যবাদ, এটি একটি আকর্ষণীয় ধারণা যা আমি বিবেচনা করি নি। আপনি কীভাবে বলতে পারেন যে কোন নমুনা অনুপাতটি আপনার ব্যয় ফাংশনের সাথে মিলে যায়?
জেসিকা 21

8

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

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

β0

βc=β0log(p+1p+)

p+

nnnNn


3

অবশ্যই 'স্প্যাম নয়' হিসাবে সবকিছুকে শ্রেণিবদ্ধকরণ আপনাকে এটি বলতে দেয় 100 টি মেল দেওয়া হলেও এটি 99 টি সঠিকভাবে শ্রেণিবদ্ধ করে তবে এটি স্প্যাম হিসাবে চিহ্নিত একমাত্র 'স্প্যাম নয়' হিসাবে শ্রেণিবদ্ধ করে (100% মিথ্যা ইতিবাচক)। দেখা যাচ্ছে যে অ্যালগরিদম মূল্যায়নের জন্য আপনি যে মেট্রিকটি বেছে নিয়েছেন তা মানিয়ে নেওয়া যায় না। এই ভিডিওটি ধারণার উদাহরণ দেয়।

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


0

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

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.