সিউডো-লেবেলিং অ-তুচ্ছভাবে ফলাফলগুলিকে ব্যবহার করে কেন?


19

আমি আধা-তত্ত্বাবধানে শেখার পদ্ধতিগুলি খতিয়ে দেখছি এবং "সিউডো-লেবেলিং" ধারণাটি পেয়েছি।

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

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

আধা তত্ত্বাবধান পদ্ধতিতে সিদ্ধান্তের সীমানা

টেকেরিন সিসি বাই-এসএ 3.0 দ্বারা উইকিমিডিয়া কমন্স থেকে চিত্র

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

বা অন্যভাবে বলতে গেলে, বর্তমান লেবেলযুক্ত কেবলমাত্র সিদ্ধান্তের সীমানায় লেবেলযুক্ত ডেটাগুলির জন্য নিখুঁত পূর্বাভাসের নির্ভুলতা থাকবে (যেমনটি আমরা সেগুলি তৈরি করতাম)। কোনও ড্রাইভিং ফোর্স নেই (গ্রেডিয়েন্ট নেই) যা সিউডো-লেবেলযুক্ত ডেটা যুক্ত করে কেবল আমাদের সেই সিদ্ধান্তের সীমানার অবস্থান পরিবর্তন করতে পারে।

আমি কি ভেবে সঠিকভাবে বুঝতে পারি যে ডায়াগ্রামের সাহায্যে ব্যাখ্যাটির অভাব রয়েছে? নাকি আমি এখানে কিছু মিস করছি? যদি তা না হয় তবে সিউডো-লেবেলের সুবিধা কী , পূর্ব-প্রশিক্ষণ সংক্রান্ত সিদ্ধান্তের সীমানায় সিউডো-লেবেলের উপর নিখুঁত নির্ভুলতা থাকলে?

উত্তর:


16

সিডো-লেবেলিং দেওয়া খেলনা সমস্যার উপর কাজ করে না

অলিভার ইত্যাদি। (2018) বিভিন্ন আধা-তত্ত্বাবধানে শেখার অ্যালগরিদমগুলি মূল্যায়ন করে। তাদের প্রথম চিত্রটি দেখায় যে কীভাবে সিউডো-লেবেলিং (এবং অন্যান্য পদ্ধতিগুলি) আপনার প্রশ্নের মতো একই খেলনা সমস্যার উপর কার্য সম্পাদন করে (যাকে 'দু'চাঁদ' ডেটাসেট বলা হয়):

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

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

সিউডো-লেবেলিং কেন এবং কখন কাজ করে?

সিউডো-লেবেলিং লি (2013) দ্বারা প্রবর্তিত হয়েছিল, যাতে আপনি সেখানে আরও বিশদ জানতে পারেন।

গুচ্ছ ধারণা

সিউডো-লেবেলিংয়ের জন্য তাত্ত্বিক ন্যায়সঙ্গততা লি যে এটি এনট্রপি নিয়মিতকরণের অনুরূপ। এন্ট্রপি নিয়মিতকরণ (গ্র্যান্ডভ্যালেট এবং বেনজিও ২০০৫) আরেকটি আধা-তত্ত্বাবধানে শেখার কৌশল, যা শ্রেণিবদ্ধকে বিনা লেবেলযুক্ত ডেটা সম্পর্কে আত্মবিশ্বাসী ভবিষ্যদ্বাণী করতে উত্সাহ দেয়। উদাহরণস্বরূপ, আমরা একাধিক ক্লাসে ছড়িয়ে থাকা সম্ভাবনাকে ছড়িয়ে দেওয়ার চেয়ে নির্দিষ্ট শ্রেণিতে থাকার উচ্চ সম্ভাবনা অর্পণ করার জন্য লেবেলযুক্ত বিন্দুকে পছন্দ করব। উদ্দেশ্য ক্লাস অনুযায়ী ডেটা ক্লাস্টার করা হয় (এই ধারণাটিকে "আধা-তত্ত্বাবধানে শিক্ষার ক্ষেত্রে" ক্লাস্টার অনুমান "বলা হয়) সে সুবিধাটি গ্রহণ করা। সুতরাং, কাছাকাছি পয়েন্টগুলির একই শ্রেণি রয়েছে এবং বিভিন্ন শ্রেণির পয়েন্টগুলি আরও বিস্তৃত হয় যেমন সত্য সিদ্ধান্তের সীমানা ইনপুট স্পেসের কম ঘনত্ব অঞ্চলে চলে।

সিউডো-লেবেলিং কেন ব্যর্থ হতে পারে

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

যেখানে এটি কাজ করে

লি (2013) দেখিয়েছেন যে সিউডো-লেবেলিং এমএনআইএসটি ডেটাসেটে সহায়তা করতে পারে (100-3000 লেবেলযুক্ত উদাহরণ সহ)। ডুমুর মধ্যে। এই কাগজের 1 টি, আপনি দেখতে পাচ্ছেন যে 600 টি লেবেলযুক্ত উদাহরণগুলিতে প্রশিক্ষণপ্রাপ্ত একটি নিউরাল নেট (কোনও আধা-তত্ত্বাবধানের প্রশিক্ষণ ছাড়াই) ইতিমধ্যে ক্লাসগুলির মধ্যে ক্লাস্টার কাঠামো পুনরুদ্ধার করতে পারে। মনে হয় সিউডো-লেবেলিং এর পরে কাঠামোটিকে পরিমার্জনে সহায়তা করে । মনে রাখবেন এটি দ্বিগুনের উদাহরণের মতো নয়, যেখানে বেশ কয়েকটি লেবেলযুক্ত পয়েন্ট সঠিক ক্লাস্টারগুলি শেখার জন্য যথেষ্ট ছিল না।

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

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

গ্র্যান্ডভ্যালেট এবং বেনজিও (২০০৫) জানিয়েছে যে সিউফার -10 এবং এসভিএনএইচএন ডাটাসেটে যথাক্রমে সিউডো-লেবেলিং শেখার তদারকি করেছে (যথাক্রমে 4000 এবং 1000 লেবেলযুক্ত উদাহরণ সহ)। উপরে হিসাবে, দ্বিগুনের সমস্যার 6 লেবেলযুক্ত পয়েন্টগুলির তুলনায় এটি অনেক বেশি লেবেলযুক্ত ডেটা।

তথ্যসূত্র


5

স্ব-প্রশিক্ষণ কীভাবে কাজ করে তা আপনি কী উপেক্ষা করছেন that

  1. এটি পুনরুক্তিযুক্ত, এক শট নয়।

  2. আপনি এমন একটি শ্রেণিবদ্ধ ব্যবহার করেন যা সম্ভাব্য মানগুলি ফেরত দেয়। প্রতিটি পুনরাবৃত্তির সময়, আপনার অ্যালগোরিদম যে বিষয়ে সুনির্দিষ্ট নিশ্চিত সেগুলির জন্য আপনি কেবলমাত্র লেবু যুক্ত করেন।

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

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

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

মন্তব্যে প্রতিক্রিয়া: আমি এই ক্ষেত্রে কোনও বিশেষজ্ঞ নই। আমরা ক্লায়েন্টদের সাথে সাধারণত যা করি তার জন্য এটি আমরা খুব প্রযোজ্য হিসাবে দেখি, তাই আমি শিখছি এবং সমস্ত উত্তর নেই।

আমি যখন আধা-তত্ত্বাবধানে শেখার ওভারভিউগুলি অনুসন্ধান করি তখন শীর্ষ হিটটি হ'ল: ২০০৮ সাল থেকে আধা-তত্ত্বাবধানে পড়াশুনা সাহিত্য সমীক্ষা That's এটি যুগ যুগ আগে, কম্পিউটার ভিত্তিক, তবে আমি এখানে উল্লিখিত জিনিসগুলির বিষয়ে আলোচনা করি।

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

প্রথমত, এটি 2 ডি-তে রয়েছে এবং বেশিরভাগ বাস্তবসম্মত সমস্যাগুলি উচ্চ মাত্রায় থাকবে, যেখানে আমাদের স্বজ্ঞাতগুলি প্রায়শই আমাদেরকে বিভ্রান্ত করে। হাই-ডাইমেনশনাল স্পেস বিভিন্ন উপায়ে বিভিন্নভাবে কাজ করে - কিছু নেতিবাচক এবং কিছু আসলে সহায়ক।

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

তৃতীয়ত, আমি নিশ্চিত নই যে একবার লেবেলযুক্ত, সর্বদা-লেবেলযুক্ত এটি আসলে কীভাবে কাজ করা উচিত। আপনি এটি কীভাবে করেন এবং অ্যালগরিদম কীভাবে কাজ করে তার উপর নির্ভর করে আপনি প্রথমে বাঁকানোর সময় সীমানাটি কাত করে শেষ করতে পারেন (অ-রৈখিক ধরে নিচ্ছেন) এবং তারপরে ক্রিসেন্টের কিছু বিভক্ত অংশগুলি তাদের লেবেলগুলি স্থানান্তর করতে পারে।

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


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

@ আরএম সম্পাদিত। এটা কেমন ছিল?
ওয়েইন

1

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

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

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

জিনিসগুলিকে উত্সাহিত করার একটি ছোট্ট প্রচেষ্টা হিসাবে, আমি ভবিষ্যদ্বাণী করা সমস্ত সম্ভাবনার সাথে এই শব্দটি যুক্ত করেছি যে এটি আরও ভাল ফলাফলের কারণ হবে।

প্রথম উদাহরণটি আমি উপরের চিত্রটি যথাসম্ভব বিশ্বস্ততার সাথে পুনরায় তৈরি করেছি as আমি মনে করি না যে চিত্রে লেবেলিং এখানে মোটেই সহায়তা করতে সক্ষম হবে।

এক পরীক্ষা, কলা আকৃতির ডেটা

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

উদাহরণ দুটি, 2 ডি সাধারণত বিতরণ করা ডেটা] =

উদাহরণস্বরূপ কোড 1 (উদাহরণ 2 যথেষ্ট অনুরূপ যে আমি এখানে সদৃশ করব না):

import numpy as np
from sklearn.ensemble import RandomForestClassifier
import matplotlib.pyplot as plt
import seaborn

np.random.seed(2018-10-1)
N = 1000

_x = np.linspace(0, np.pi, num=N)
x0 = np.array([_x, np.sin(_x)]).T
x1 = -1 * x0 + [np.pi / 2, 0]

scale = 0.15
x0 += np.random.normal(scale=scale, size=(N, 2))
x1 += np.random.normal(scale=scale, size=(N, 2))

X = np.vstack([x0, x1])

proto_0 = np.array([[0], [0]]).T # the single "labeled" 0
proto_1 = np.array([[np.pi / 2], [0]]).T # the single "labeled" 1

model = RandomForestClassifier()
model.fit(np.vstack([proto_0, proto_1]), np.array([0, 1]))
for itercount in range(100):
    labels = model.predict_proba(X)[:, 0]
    labels += (np.random.random(labels.size) - 0.5) / 10 # add some noise
    labels = labels > 0.5
    model = RandomForestClassifier()
    model.fit(X, labels)

f, axs = plt.subplots(1, 2, squeeze=True, figsize=(10, 5))

axs[0].plot(x0[:, 0], x0[:, 1], '.', alpha=0.25, label='unlabeled x0')
axs[0].plot(proto_0[:, 0], proto_0[:, 1], 'o', color='royalblue', markersize=10, label='labeled x0')
axs[0].plot(x1[:, 0], x1[:, 1], '.', alpha=0.25, label='unlabeled x1')
axs[0].plot(proto_1[:, 0], proto_1[:, 1], 'o', color='coral', markersize=10, label='labeled x1')
axs[0].legend()

axs[1].plot(X[~labels, 0], X[~labels, 1], '.', alpha=0.25, label='predicted class 0')
axs[1].plot(X[labels, 0], X[labels, 1], '.', alpha=0.25, label='predicted class 1')
axs[1].plot([np.pi / 4] * 2, [-1.5, 1.5], 'k--', label='halfway between labeled data')
axs[1].legend()
plt.show()

1

এখানে আমার অনুমান (আমি এই বিষয়টি সম্পর্কে খুব বেশি জানি না, কেবল এই আলোচনায় আমার দুটি সেন্ট যুক্ত করতে চেয়েছি)।

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

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

আমার অর্থ হ'ল, আপনার এটি করা দরকার:

labelleddataclusteringclassification

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

আমি বিশ্বাস করি যে অ্যালগোরিদমগুলি কোনও ধরণের ক্লাস্টারিং সম্পাদন করে না, লেবেলযুক্ত ডেটা সেটের ভিত্তিতে তাদের সর্বোত্তম পরিবর্তন করতে সক্ষম হবে না।

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

সত্যই রেফারেন্স নেই তবে এই রেডডিট পোস্টে , যেমনটি আমি বুঝতে পেরেছি, আধা-তত্ত্বাবধানে শেখা জিএন সম্পাদন করার বিষয়ে একটি আলোচনা রয়েছে। এটি আমার একটি কুঁচক যা স্পষ্টতই একটি ক্লাস্টারিং করে, তার পরে শ্রেণিবিন্যাস করে।

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