গড় অনুসন্ধানের কার্যকারিতা হ্রাস করতে স্থির দৈর্ঘ্যের সিদ্ধান্ত-গাছের মতো বৈশিষ্ট্য নির্বাচন


9

আমার একটি জটিল প্রশ্ন রয়েছে Q একটি ডেটাসেট অনুসন্ধান করতে ব্যবহৃত S খুঁজতে Hexact={sSwhere Q(s) is True}। প্রতিটি ক্যোয়ারিতে গড় সময় লাগে তাই লিনিয়ার অনুসন্ধানের সামগ্রিক সময়। আমি একটি সহজ জিজ্ঞাসাটি সহজ সাব-কোয়েরীগুলিতে বিভক্ত করতে পারি এবং এবং যেখানে । প্রতিটি subquery অনেক গনা দ্রুত, তাই সামগ্রিক সেটা খুঁজে পেতে দ্রুততর এবং তারপর ব্যবহার এটি ।tt|S|Happrox={sSqj(s)is True}HexactHapproxqiHapproxQHexact

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

আরও বেশি কংক্রিট করার জন্য, ধরুন ডেটা সেটে বিশ্বের 7 বিলিয়ন মানুষ রয়েছে এবং জটিল প্রশ্নগুলি "5 ম কোণে রেড হাউসে বসবাসকারী মহিলা এবং বি থেকে শুরু হওয়া কোনও শহরে লেক্সিংটন" এর মতো জিনিস "

সুস্পষ্ট সমাধানটি হ'ল বিশ্বের প্রতিটি ব্যক্তি যাচাই করা এবং কোয়ের সাথে কে মিলছে তা দেখুন। এরকম একাধিক ব্যক্তি থাকতে পারে। এই পদ্ধতিতে দীর্ঘ সময় লাগে।

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

পরিবর্তে, আমি জটিল প্রশ্নটি ভাঙ্গতে পারি সহজতর কিন্তু আরও সাধারণ সেটগুলিতে। উদাহরণস্বরূপ, উপরের সমস্ত প্রশ্নের একটি লিঙ্গ-ভূমিকা ভিত্তিক ক্যোয়ারী রয়েছে, তাই আমি বিশ্বের সমস্ত লোককে নিজেরাই 'নারী' বলে বিবেচনা করি the এই সাব-কোয়েরিতে মূলত কোনও সময় লাগে না, সুতরাং সামগ্রিক অনুসন্ধানের সময়টি প্রায় 1/2 দ্বারা হ্রাস পায়। (ধরে নিলাম যে অন্যান্য জ্ঞানের দ্বারা আমরা জানি যে সুইডিশ "রাজা" একজন "মহিলা" হতে পারে না। হাটসেপসুট ছিলেন একজন মিশরীয় মহিলা যিনি রাজা ছিলেন।)

তবে, মাঝে মাঝে এমন প্রশ্নগুলি পাওয়া যায় যা লিঙ্গ-ভিত্তিক নয়, যেমন "এ শহরের সাথে শুরু হওয়া কোনও শহরের লাল বাড়ীতে 8 তম রাস্তায় বসবাসকারী ব্যক্তি" like আমি দেখতে পাচ্ছি যে সাবকোয়ারি "একটি লাল বাড়িতে থাকে" সাধারণ, এবং লোহিত বাড়িতে যারা বাস করেন তাদের সমস্তের একটি তালিকা প্রাক-গণনা করুন।

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

এখানে সম্ভাব্য চূড়ান্ত সিদ্ধান্তের উদাহরণ রয়েছে: প্রশ্ন 1 হল 'ব্যক্তিটি কি একজন মহিলা?', প্রশ্ন 2 হ'ল 'ব্যক্তিটি কি লাল ঘরে বাস করে?', প্রশ্ন 3 হ'ল 'কোনও ব্যক্তি কীভাবে শুরু করে কোনও শহরে বাস করেন? A বা ব্যক্তি বি দিয়ে শুরু করে কোনও শহরে থাকেন? 'এবং প্রশ্নটি 4' ব্যক্তিটি কি একটি সংখ্যাযুক্ত রাস্তায় বাস করে? '

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

অনেকের সেট দেখে আমি দামের মডেল পেতে পারি Q এবং সংশ্লিষ্ট আকার দেখতে চেক করুন Happrox। আমি গড় আকারটি হ্রাস করতে চাইHapprox

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

আমার কোন বিদ্যমান গবেষণা আইডিয়াগুলির জন্য সন্ধান করা উচিত?


আপনার ডেটা স্থির-আপনি আরও উদাহরণ যুক্ত করতে যাচ্ছেন? যদি না হয় তবে সর্বোচ্চ তথ্য এনট্রপির সাথে সাবকোয়ারি দিয়ে সূচনা গাছ বানাতে চেষ্টা করুন S আপনি গাছের উপর ভিত্তি করে কিছু থামাতে পারেন এবং | এস | এর সাথে অনুসন্ধান করতে পারেন t
আন্তন

উত্তর:


1

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

আমি যে পদ্ধতিটি ব্যবহার করেছি তা 'রাসায়নিক কাঠামো অনুসন্ধানের জন্য একটি দক্ষ ডিজাইন থেকে এসেছে। আই দ্য স্ক্রিনস ', আলফ্রেড ফিল্ডম্যান এবং লুই হোডস, জে কেম INF। Comput। বিজ্ঞান।, 1975, 15 (3), পিপি 147–152।

অ-শ্রেণিবদ্ধ সমাধান হ'ল তথ্য ঘনত্বের দিকে নজর দেওয়া। প্রতিটি বর্ণনাকারী বরাদ্দ করা হবেsi=log2(fi) বিট যেখানে fi ডেটা সেটে ফ্রিকোয়েন্সি হ'ল (0<f_i <= 1.0)। বিটের মোট সংখ্যা গণনা করুনD (সিদ্ধান্ত গাছের আকার) ব্যবহার করে D=(sifi)/Mc কোথায় Mc মুরস কম্প্রেশন ফ্যাক্টর 0.69 (থেকে) loge2)। একবার ব্যবহারের জন্য বিটের মোট সংখ্যা নির্ধারণ করে নিলে নির্বাচন করুনsi বিট অ্যাসাইনমেন্টের জন্য প্রতিটি বর্ণনাকারীর জন্য এলোমেলোভাবে বিট।

ফিল্ডম্যান এবং হডস থেকে শ্রেণিবদ্ধ সমাধানটি প্রতিস্থাপন করে si=log2(fi)বর্ণনাকারীদের জন্য যা অন্যান্য বর্ণনাকারীর একটি উপসেট। সেক্ষেত্রে ব্যবহার করুনsi=log2(fi/gi) কোথায় giস্বল্পতম ঘন ঘন অভিভাবকের ফ্রিকোয়েন্সি। এছাড়াও, বিট অ্যাসাইনমেন্ট করার সময় বিটগুলি নির্বাচন করবেন না যা পিতামাতার বিট অ্যাসাইনমেন্ট দ্বারা ব্যবহৃত হয়।

সঠিক বর্ণনাকারী কীভাবে উপস্থিত হবে তা নিয়ে এখনও একটি সমস্যা রয়েছে তবে এটি ডোমেন নির্দিষ্ট হবে।

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