একটি নির্দিষ্ট দূরত্বের মধ্যে পয়েন্ট সংখ্যা সর্বাধিকীকরণকারী চেনাশেন্দ্রগুলির একটি পরিচিত সংখ্যা সন্ধান করা


10

আমার কাছে 2-ডি ডেটার একটি সেট রয়েছে যেখানে আমি নির্দিষ্ট বৃত্তের ( ) কেন্দ্রের নির্দিষ্ট সংখ্যক কেন্দ্রগুলির কেন্দ্রগুলি সন্ধান করতে চাই যা নির্দিষ্ট দূরত্বে ( ) এর মধ্যে মোট পয়েন্টের সংখ্যা সর্বাধিক করে দেয় ।NR

উদাহরণস্বরূপ আমার 10,000 টি ডাটা পয়েন্ট রয়েছে এবং আমি সার্কেলের কেন্দ্রগুলি খুঁজে পেতে চাই যা ব্যাসার্ধের মধ্যে যথাসম্ভব পয়েন্টগুলি ক্যাপচার করে । 5 টি কেন্দ্র এবং দশকের ব্যাসার্ধ আগেই দেওয়া হয়, ডেটা থেকে প্রাপ্ত নয়।(Xi,Yi)N=5R=10

একটি বৃত্তের মধ্যে ডেটা পয়েন্টের উপস্থিতি বাইনারি হয় / অথবা প্রস্তাবনা। যদি হয় তবে 11 ইউনিট দূরে বনাম 100 ইউনিট দূরের কোনও মানের সাথে কোনও পার্থক্য নেই, কারণ তারা উভয়ই> 10। একইভাবে বৃত্তের মধ্যে থাকার জন্য, কেন্দ্রে কাছে বনাম বনামের কাছাকাছি থাকার কোনও অতিরিক্ত মূল্য নেই there's । একটি ডেটা পয়েন্ট হয় হয় চেনাশোনাগুলির একটিতে বা বাইরে।R=10

এই সমস্যাটি সমাধান করতে কোনও ভাল অ্যালগরিদম ব্যবহার করা যেতে পারে? এগুলি ক্লাস্টারিং কৌশলগুলির সাথে সম্পর্কিত বলে মনে হয়, তবে গড় দূরত্বকে হ্রাস করার পরিবর্তে, পয়েন্টটি যদি কোনও পয়েন্টের এর মধ্যে হয় তবে "দূরত্ব" ফাংশন 0 হয় এবং অন্যথায় 1 হয় 1RN

আমার পছন্দটি হবে আর এ করার জন্য কোনও উপায় সন্ধান করা, তবে যে কোনও পদ্ধতির প্রশংসা করা হবে।


চেনাশোনা ওভারল্যাপ অনুমোদিত?
কৌতূহলী_কাট

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

1
চেনাশোনা ওভারল্যাপ অনুমোদিত, কিন্তু উভয় চেনাশোনা দ্বারা আবৃত ডেটা পয়েন্টগুলি দ্বিগুণ গণনা করা হবে না। রাস্টার ডেটাसेटগুলিতে পয়েন্টার / ফোকাল অপারেশনের জন্য পয়েন্টারটির জন্য ধন্যবাদ। আমি এই লাইন বরাবর কিছু জন্য অনুসন্ধান করব।
কর্নেল.ট্রিক

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

.... অথবা গণিত.মুখে প্রবাহিত? তাদের এ সম্পর্কেও কিছু অন্তর্দৃষ্টি থাকতে পারে।
কৌতূহলী_কাট

উত্তর:


1

এটি কে-ই-মানে সমস্যা। কেন্দ্রগুলির ব্যাসার্ধ যতক্ষণ না তাদের সমান বলে ধরে নেওয়া যায়, তাতে কিছু আসে যায় না।

লিঙ্ক:

এটি পয়েন্টগুলির সর্বোচ্চ সম্ভাবনার জায়গাগুলিতে চেনাশোনাগুলির কেন্দ্র স্থাপন করবে।

ক্লাসিক কে মানে পদ্ধতি:

  1. ক্লাস্টার গণনা 5 সেট করুন
  2. প্রতিটি পয়েন্ট একটি এলোমেলো গুচ্ছ মধ্যে রাখুন
  3. প্রতিটি ক্লাস্টারের জন্য, গড় অবস্থান গণনা করুন
  4. প্রতিটি পয়েন্টের জন্য, প্রতিটি নতুন গড় পজিশনের দূরত্ব গণনা করুন
  5. নিকটতম ক্লাস্টারের সাথে সহযোগী সদস্যতা
  6. সম্পন্ন না হওয়া পর্যন্ত পুনরাবৃত্তি করুন (পুনরাবৃত্তি, অবস্থানের পরিবর্তন, বা অন্যান্য ত্রুটি মেট্রিক)

বিকল্প:

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

কেন-কেন সমস্যাটিকে আক্রমণ করে:

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

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

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


কে দয়া করে কীভাবে এই সমস্যাটি সমাধান করে সে সম্পর্কে আপনি আরও কিছুটা স্পষ্ট করে বলতে পারেন?
whuber

পরামর্শের জন্য ধন্যবাদ. এটি এখনও আমার কাছে পরিষ্কার নয় যে কে-মানে পদ্ধতির সমস্যার সমাধান হয়? সাধারণ (0,1) উত্পাদিত উপাত্তের তিনটি ক্লাস্টারের উদাহরণ বিবেচনা করুন, যেখানে কেন্দ্রগুলি 5 টি ইউনিট বা তাই দ্বারা অফসেট করা হয়। কে-মানে কেন্দ্রগুলি সর্বোচ্চ ঘনত্ব দেয়। এখন "ছিদ্র" দিয়ে এমন কিছু পয়েন্ট কেটে ফেলুন যে কেন্দ্রগুলির নিকটে 0.5 এর কাছাকাছি তথ্য মুছে ফেলা হবে। কে-মানেগুলি এখনও একই কেন্দ্রগুলির বিষয়ে প্রদর্শিত হবে, তবে আপনি যদি এন = 3, আর = 0.5 এর জন্য সর্বাধিক কভারেজ পাওয়ার চেষ্টা করছেন তবে এটি স্পষ্টভাবে সঠিক উত্তর নয় (কারণ ডোনাট গর্তগুলিতে কোনও ডেটা নেই)। আমি কি কিছু ভুল বুঝছি?
কর্নেল.ট্রিক

আমার সময় থাকলে আরও ভাল উত্তরের জন্য আপনার প্রশ্নটি আরও সন্ধান করবে। আমি নেতিবাচক ওজন অনুমতি দিতে চাই। কখনও কখনও ডেটা ডোনটগুলির পাশাপাশি রেডিয়াল যৌক্তিক বহুপদীগুলিও পরিচালনা করতে পারে।
EngrStudent

0

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

আমি একটি ষড়ভুজ আকার ব্যবহার করব যা মোটামুটিভাবে আপনার ব্যাসার্ধ R এর বৃত্তটি ছড়িয়ে ফেলবে এবং তারপরে উপরের এন বিনগুলিতে বাছাই করবে। যদি আপনি খুব Nদূরে বিনয়গুলি পেয়ে থাকেন তবে দুর্দান্ত। এখন একটি উপায় হ'ল শীর্ষ ঘনত্বের হেক্সাগনগুলির কেন্দ্র থেকে 2 * আর স্কেল (x এবং y দিকনির্দেশে) স্থানীয়ভাবে বৃত্তটি ঘুরে আসা। গণনা ঘনত্ব স্থানীয়ভাবে অবস্থানের অনুকূলতা আনতে পারে। এটি হ্যাক্সাগনগুলি একটি নির্দিষ্ট উত্সের ক্ষেত্রে চলমান উইন্ডো ছিল না এর জন্য অ্যাকাউন্ট করবে।

সমস্ত শীর্ষ বিনগুলি যদি কাছাকাছি থাকে তবে আপনার চেনাশোনাগুলিকে আপনার চেনাশোনাগুলিকে সরানোর কিছু স্মার্ট উপায় থাকতে হবে।

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

এদিকে, আমি আশা করি কারও কাছে আরও ভাল অ্যালগরিদম রয়েছে।


1
এরকম কিছু সমস্যার সমাধান করতে পারে, একটি বৃত্তের জন্য কমপক্ষে প্রায় । (এটি একটি জিআইএসের মাধ্যমে ফোকাল গণনাগুলি ব্যবহার করে সহজেই করা যেতে পারে)) তবে এটি একাধিক-বৃত্তের সমস্যার সমাধান করবে না।
শুক্র

@ হুবার: একটি বৃত্তের সমাধান করার পরে সেই বৃত্তের মধ্যে থাকা সমস্ত পয়েন্টগুলি ফেলে দেওয়ার এবং তারপরে মূল অ্যালগরিদমের পুনরাবৃত্তি সম্পর্কে কী? আপনি কি এমন পরিস্থিতিতে দেখতে পাচ্ছেন যেখানে এটি ব্যর্থ হবে?
কৌতূহলী_কাট

হ্যাঁ, সহজেই। (আপনার একটি "লোভী অ্যালগরিদম।") এ পয়েন্ট সহ এক মাত্রায় কেস বিবেচনা করুন । তোমার অ্যালগরিদম রাখে প্রথম বৃত্ত আচ্ছাদন এবং দ্বিতীয় আচ্ছাদন : আট পয়েন্ট সাকল্যে । একটি ভাল সমাধান জুড়ে এক বৃত্ত এবং নয়টি পয়েন্ট: অন্যের সঙ্গে। 0 , 1 , 2 , 20 , 21 , 28 , 29 , 30 , 31 , 32 , 39 , 40 28 , 29 , 30 , 31 , 32 0 , 1 , 2 20 , 21 , 28 , 29 , 30 30 , 31 , 32 ,R=10,N=20,1,2,20,21,28,29,30,31,32,39,4028,29,30,31,320,1,220,21,28,29,3030,31,32,39,40
whuber

@ শুভ: সত্য। তুমি ঠিক. যদিও কিছু (অনেক?) ক্ষেত্রে ইনপুট পয়েন্টগুলির কাঠামোর উপর নির্ভর করে লোভী এবং অ লোভী সমাধানগুলি অভিন্ন বা কাছাকাছি হতে পারে? আমি জানি না।
কৌতূহলী_কাট

@ হুইবার: সমস্যাটি বেশিরভাগ সীমানায় seems কি হবে যদি (কিছুটা মত আমি আমার উত্তর উল্লেখিত) এক প্যাচসমূহ জানালা +Rএবং -Rএবং তারপর একটি স্ট্যাক এবং তাদের মধ্যে নির্বাচন সব সম্ভবপর সমাধান রাখে। যেমন আপনার 1Dআঘাত উদাহরণ স্বরূপ 28,29,30,31,32এটা পর্যন্ত জানালা স্লাইড চাই 18-28এবং 38-48সব feasable সমাধান খুঁজছেন। তারপরে এর মধ্যে একটি সর্বাধিক পয়েন্ট ফলনকারী সমন্বয়গুলি সন্ধান করতে পারে। নিশ্চিত না যে এটি সাহায্য করবে? আমি দেখার চেষ্টা করছি যে আমার নিষ্পাপ অ্যালগরিদমকে উদ্ধার করা যায় কিনা? :)
কৌতূহলী_কাট
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.