কেন রিগ্রেশনের মাধ্যমে শ্রেণিবিন্যাসের কাছে যেতে হবে না?


51

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


আমি মনে করি রিগ্রেশন সবসময় উৎপাদন পরিবেশে শ্রেণীবিন্যাস তুলনায় আরো জটিল

উত্তর:


57

"..প্রতিবন্ধের মাধ্যমে প্রবন্ধের শ্রেণিবদ্ধকরণ সমস্যা .." "প্রতিরোধের " দ্বারা আমি ধরে নিচ্ছি যে আপনি লিনিয়ার রিগ্রেশন বোঝাতে চাইছেন এবং আমি এই পদ্ধতির সাথে লজিস্টিক রিগ্রেশন মডেল লাগানোর "শ্রেণিবিন্যাস" পদ্ধতির সাথে তুলনা করব।

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

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

শ্রেণিবিন্যাস সমস্যাগুলিতে লিনিয়ার বনাম লজিস্টিক রিগ্রেশন

অ্যান্ড্রু এনজি যেমন এটি ব্যাখ্যা করেছেন , লিনিয়ার রিগ্রেশন সহ আপনি ডেটাগুলির মাধ্যমে একটি বহুবর্ষের সাথে মাপসই হন - বলুন, নীচের উদাহরণের মতো আমরা একটি {টিউমার আকার, টিউমার ধরণের} নমুনা সেটের মাধ্যমে একটি সরল রেখায় ফিট করছি :

এখানে চিত্র বর্ণনা লিখুন

উপরে, ম্যালিগন্যান্ট টিউমারগুলি এবং অ-ম্যালিগন্যান্টগুলি এবং সবুজ লাইনটি আমাদের অনুমান । পূর্বাভাস দেওয়ার জন্য আমরা বলতে পারি যে কোনও প্রদত্ত টিউমার আকার , চেয়ে বড় হয়ে গেলে আমরা ম্যালিগন্যান্ট টিউমারটির পূর্বাভাস দিই, অন্যথায় আমরা সৌম্যর ভবিষ্যদ্বাণী করি।10h(x)xh(x)0.5

দেখে মনে হচ্ছে এইভাবে আমরা প্রতিটি একক প্রশিক্ষণ সেট নমুনার সঠিকভাবে পূর্বাভাস দিতে পারি, তবে এখন আসুন কার্যটি কিছুটা পরিবর্তন করা যাক।

স্বজ্ঞাতভাবে এটি স্পষ্ট যে সমস্ত টিউমার বৃহত্তর নির্দিষ্ট থ্রেশহোল্ডগুলি মারাত্মক। সুতরাং আসুন একটি বিশাল টিউমার আকার সহ অন্য একটি নমুনা যুক্ত করুন এবং আবার রৈখিক প্রতিরোধ চালান:

এখানে চিত্র বর্ণনা লিখুন

এখন আমাদের আর কাজ করে না। সঠিক ভবিষ্যদ্বাণী করা চালিয়ে যেতে আমাদের এটিকে বা অন্য কোনও কিছুতে পরিবর্তন করতে হবে - তবে এটি কীভাবে অ্যালগরিদমটি কাজ করা উচিত নয়।h(x)>0.5malignanth(x)>0.2

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

আশা করি এটি ব্যাখ্যা করে যে কেন শ্রেণিবিন্যাসের সমস্যার জন্য লিনিয়ার রিগ্রেশন সবচেয়ে উপযুক্ত নয়! এছাড়াও, আপনি VI দেখতে চাইবেন পণ্য সরবরাহ সংশ্লেষণ. বিভাগ ভিডিও ml-class.org যা আরো বিস্তারিত ধারণা ব্যাখ্যা করে।


সম্পাদনা

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

এখানে চিত্র বর্ণনা লিখুন

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

  • h(x) রৈখিক রিগ্রেশনের interpolates, অথবা অবলুপ্তি, আউটপুট এবং মান অনুমান আমরা দেখতে পাইনি। এটি কেবলমাত্র নতুন প্লাগ করা এবং একটি কাঁচা নম্বর পাওয়ার মতো এবং ভবিষ্যদ্বাণী করা, {গাড়ির আকার, গাড়ির বয়স} ইত্যাদির উপর ভিত্তি করে গাড়ির দাম বলার মতো কাজের জন্য আরও উপযুক্তxx
  • h(x)লজিস্টিক রিগ্রেশন এর জন্য আপনাকে সম্ভাব্যতা জানায় যে "ধনাত্মক" শ্রেণীর অন্তর্গত। এ কারণেই এটিকে একটি রিগ্রেশন অ্যালগরিদম বলা হয় - এটি একটি অবিচ্ছিন্ন পরিমাণ, সম্ভাবনা অনুমান করে। যাইহোক, আপনি যদি সম্ভাব্যতার উপর একটি প্রান্তিক সেট স্থাপন করেন, যেমন , আপনি একটি শ্রেণিবদ্ধকারী পাবেন এবং অনেক ক্ষেত্রে লজিস্টিক রিগ্রেশন মডেল থেকে আউটপুট দিয়ে এটি করা হয়। এটি প্লটের উপর একটি লাইন রাখার সমতুল্য: শ্রেণিবদ্ধ রেখার উপরে বসে সমস্ত পয়েন্টগুলি একটি শ্রেণির অন্তর্গত, যখন নীচের পয়েন্টগুলি অন্য শ্রেণীর অন্তর্গত।x h ( x ) > 0.5xh(x)>0.5

সুতরাং, নীচের লাইনটি হ'ল শ্রেণিবিন্যাসের দৃশ্যে আমরা রিগ্রেশন দৃশ্যের চেয়ে সম্পূর্ণ ভিন্ন যুক্তি এবং সম্পূর্ণ ভিন্ন অ্যালগরিদম ব্যবহার করি ।


@ অ্যান্ড্রিস্টার: তবে কী হবে যদি সমস্ত আউটলিয়ারকে সরিয়ে ফেলা হয় বা কেটে ফেলা হয় তবে লিনিয়ার রিগ্রেশন কি এখনও খারাপ ধারণা?
টোমেক তার্কিজেনস্কি

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

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

1
@ প্রোব্যাবিলিটিস্লোগিক - ভাল কথা, আমি উত্তরটি আপডেট করেছি।
andreister

2
@ স্ট্রিন: আরও জটিল হাইপোথেসিসগুলি ডেটার উপকারের সম্ভাবনা বেশি। (এটি হ'ল আপনার হাতে থাকা ডেটাগুলির গৌরব ফিট করে, ফলস্বরূপ ভবিষ্যতের ডেটাগুলিতে খুব কম ফিট করে) আমাদেরকে অত্যাধুনিক অ্যালগরিদম না দিয়ে যা আমাদের বিদ্যুতের বাজারগুলিতে হত্যা করতে দেয় ... তিনি কখনই অতিমাত্রায় দক্ষতা অর্জন করতে পারেননি।
ওয়েইন

14

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


5
আমার কাছে মনে হয় কার্যকরভাবে শ্রেণিবিন্যাসটি হ'ল চূড়ান্তভাবে যে কোনও স্বয়ংক্রিয় প্রক্রিয়ার মধ্যে লক্ষ্য যা মানুষের হস্তক্ষেপ বা রায় প্রাপ্তি অবৈধ বা অসম্ভব। কোনও শোরগোল সঞ্চারিত ডিজিটাল সিগন্যাল গ্রহণ করার সময়, গ্রাহক সিদ্ধান্ত নিতে পারবেন না যে একটি নির্দিষ্ট বিট 0 বা 1 এর পরিবর্তে 0.97 হওয়া উচিত
কার্ডিনাল

6
মিথ্যা পজিটিভের ব্যয় বা মিথ্যা নেতিবাচক ব্যয় খুব কমই বিশ্লেষকের নিয়ন্ত্রণে আসে যিনি শ্রেণিবদ্ধকরণ করেছিলেন, ব্যতীত মূল বিশ্লেষককে শ্রেণিবিন্যাসের জন্য নির্ভরযোগ্যভাবে "সঠিক" কাটপয়েন্টটি বেছে নিতে পারবেন না। তদতিরিক্ত, মধ্যবর্তী ঝুঁকির "ধূসর অঞ্চল" থাকা বুদ্ধিমানের কাজ যেখানে কোনও শ্রেণিবদ্ধকরণ করা হয় না এবং সেই সুপারিশটি "আরও ডেটা পান"।
ফ্র্যাঙ্ক হ্যারেল

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

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

11
@ ফ্র্যাঙ্ক হ্যারেলের মন্তব্যে +1 উদাহরণস্বরূপ, তাপমাত্রা, বৃষ্টিপাত, নদীর স্তর পূর্বাভাস দেওয়া উষ্ণ বা ভেজা হবে বা বন্যা হবে বলে পূর্বাভাসের তুলনায় অপরিসীম সহায়ক। সমস্যা থাকলেও ভেড়া বা ছাগল? পিআর (ভেড়া) এর একটি অনুমান বাইনারি "ভেড়া" বা "ছাগল" এর চেয়ে বেশি তথ্যবহুল।
নিক কক্স

1

কিছু প্রমাণের দিকে তাকাতে হবে না কেন? যদিও অনেকে যুক্তিযুক্ত যে লিনিয়ার রিগ্রেশন শ্রেণিবিন্যাসের জন্য সঠিক নয় , এটি এখনও কার্যকর হতে পারে। কিছুটা স্বজ্ঞাততা অর্জনের জন্য, আমি বিজ্ঞানী-শিখার শ্রেণিবদ্ধ তুলনার সাথে লিনিয়ার রিগ্রেশন (শ্রেণিবদ্ধ হিসাবে ব্যবহৃত) অন্তর্ভুক্ত করি । যা ঘটে তা এখানে:

এখানে চিত্র বর্ণনা লিখুন

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

যেমন আমরা দেখছি, শ্রেণিবদ্ধ হিসাবে লিনিয়ার রিগ্রেশন ব্যবহার করা কাজ করতে পারে তবে বরাবরের মতো, আমি পূর্বাভাসগুলি বৈধ করে তুলব।

রেকর্ডের জন্য, আমার শ্রেণিবদ্ধ কোডটি দেখতে কেমন লাগে:

class LinearRegressionClassifier():

def __init__(self):
    self.reg = LinearRegression()

def fit(self, X, y):
    self.reg.fit(X, y)

def predict(self, X):
    return np.clip(self.reg.predict(X),0,1)

def decision_function(self, X):
    return np.clip(self.reg.predict(X),0,1)

def score(self, X, y):
    return accuracy_score(y,np.round(self.predict(X)))


0

তদ্ব্যতীত, ইতিমধ্যে ভাল উত্তরের উপর প্রসারিত করার জন্য, দ্বিখণ্ডিতের বাইরে কোনও শ্রেণিবিন্যাসের কাজের জন্য, রিগ্রেশন ব্যবহারের জন্য আমাদের ক্লাসগুলির মধ্যে একটি দূরত্ব চাপানো এবং অর্ডারের প্রয়োজন হবে। অন্য কথায়, আমরা কেবল ক্লাসগুলির লেবেলগুলিকে বদলে বা নির্ধারিত সংখ্যাসূচক মানগুলির স্কেল পরিবর্তন করে ( বনাম হিসাবে লেবেলযুক্ত ক্লাসগুলি বলার মাধ্যমে) বিভিন্ন ফলাফল পেতে পারি ) , যা শ্রেণিবিন্যাস সমস্যার উদ্দেশ্যকে পরাস্ত করে।1,10,100,...1,2,3,...

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