বায়সিয়ান অপ্টিমাইজেশনের জন্য জিপি রিগ্রেশন-এ অসুস্থ কন্ডিশনার কোভারিয়েন্স ম্যাট্রিক্স


12

পটভূমি এবং সমস্যা

আমি রিগ্রেশন এবং পরবর্তী বায়েশিয়ান অপটিমাইজেশন (বিও) এর জন্য গাউসিয়ান প্রসেসেস (জিপি) ব্যবহার করছি। রিগ্রেশনের জন্য আমি বেশ কয়েকটি কাস্টম-মেড মডিফিকেশন সহ এমএটিএলবির জন্য জিপিএমএল প্যাকেজটি ব্যবহার করি , তবে সমস্যাটি সাধারণ।

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

প্রস্তাবিত সমাধান

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

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

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

প্রশ্ন

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

কোনও পরামর্শ / রেফারেন্স যা এখানে কার্যকর হতে পারে?


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

আপনি কি কোভারিয়েন্স ম্যাট্রিক্সের তির্যক একটি ছোট ঘন যোগ করার চেষ্টা করেছেন?
জেন

@ মার্কএল.স্টোন পরামর্শের জন্য ধন্যবাদ। দুর্ভাগ্যক্রমে আমার ট্রেনিং কোডটি দ্রুত হওয়া দরকার, তাই উচ্চ-নির্ভুলতার সংখ্যাগুলি সম্ভবত আমার অ্যাপ্লিকেশনটির জন্য ভাল পছন্দ হতে পারে না।
lacerbi

2
এই প্রশ্নটি সত্যিই আকর্ষণীয়। আপনার কোভারাণীস্স ম্যাট্রিক্সে যেমন নাগেট এফেক্ট যুক্ত করার সময় আপনার সম্ভাবনায় সিগমাটিকে অনুকূলিত বা or দেওয়া হয়। আমি লক্ষ্য করেছি যে ন্যুগেট এফেক্টটি অপ্টিমাইজ করা পরিমাপের শব্দকে ক্যাপচার করে এবং গাউসিয়ান প্রক্রিয়াটিকে সহায়তা করেσ2Iσ
উইস

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

উত্তর:


7

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

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

সম্পাদনা:

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

kx,x=k(x,x)=σexp((xx)2l2)

এর ডেরাইভেটিভগুলি হল,

kdx,x=dk(x,x)dx=2(xx)l2σexp((xx)2l2)

kdx,dx=d2k(x,x)dxdx=2l22(xx)l4σexp((xx)2l2)

এখন, ধরে নেওয়া যাক আমাদের কিছু ডেটা পয়েন্ট রয়েছে এবং এ প্রাপ্ত একটি ডেরাইভেটিভ যা আমি কল ।{xi,yi;i=1,...,n}x1m1

যাক , তাহলে আমরা একটি একক মান জিপি যেমন সহভেদাংক ম্যাট্রিক্স সঙ্গে ব্যবহার করেন,Y=[m1,y1,,yn]

K=(kdx0,dx0kdx0,x0kdx0,xnkdx0,x0kx0,x0kx0,xnkdx0,xnkx0,xnkxn,xn)

বাকি জিপি যথারীতি একই রকম।


আপনি আনুমানিক গ্রেডিয়েন্ট তথ্য ব্যবহারের প্রস্তাবিত ব্যবহারের বিশদটি প্রসারিত করবেন?
মার্ক এল স্টোন

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

@j অতিরিক্ত ব্যাখ্যার জন্য ধন্যবাদ। এটি প্রকৃতপক্ষে খুব ঝরঝরে দেখাচ্ছে। এই পদ্ধতির জন্য আপনার কি রেফারেন্স রয়েছে (বা যথেষ্ট কিছু অনুরূপ)?
lacerbi

2
মাইক ওসবার্নের থিসিস পৃষ্ঠা Check (দেখুন ( রোবটস.অক্স.এক.উক / ইমোসব / public / pdf / 136 / full_thesis.pdf ) - তিনি ডেরাইভেটিভ এবং অবিচ্ছেদ্য পর্যবেক্ষণের সাথে পরিচয় করিয়ে দেন। আশা করি এটি সাহায্য করবে :)
j__

4

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

আমি নিশ্চিত না যে কীভাবে দুটি পয়েন্ট "খুব কাছাকাছি" হয়ে উঠবে তা বিচার করবেন। সম্ভবত এটি ব্যবহারকারীর কাছে একটি টিউনিং বিকল্প থাকতে পারে।

(ওফ! আমি এটি পোস্ট করার পরে, আমি আপনার প্রশ্ন এখানে পেয়েছি যা এই উত্তরটি আরও বিস্তৃত সমাধানের দিকে অগ্রসর করে I আমি আশা করি যে আমার উত্তর থেকে এটির সাথে লিঙ্ক করে আমি এসইওতে সহায়তা করব ...)


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