কীভাবে নিউরাল নেটওয়ার্ক মডেলিং কার্যকরভাবে সম্পাদন করবেন?


13

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


1
আপনার কি সত্যিই এনএন দরকার? এই পদ্ধতিটি বরং অপ্রচলিত হিসাবে বিবেচিত হয় (আংশিক কারণ এটি সাধারণত আপনার প্রশ্নের উত্তর দেওয়া খুব কঠিন)।

1
@ এমবিকিউ: হতে পারে এটি একটি পৃথক প্রশ্ন হওয়া উচিত, তবে আপনি কী আপনার বক্তব্যটি প্রসারিত করতে পারেন যে নিউরাল নেটওয়ার্কগুলি অপ্রচলিত হিসাবে বিবেচিত হয়? (এবং কাদের দ্বারা?)
নট 101

1
@ naught101 এটি ২০১০ সালের একটি মন্তব্য ... আজকাল আমাদের দুঃখজনকভাবে এই উন্মাদনার পুনর্জাগরণ রয়েছে তাই আমাদের কয়েক বছর অপেক্ষা করতে হবে যাতে এনএনগুলি আবার অপ্রচলিত হয়ে যায় (;

1
@ এমবিকিউ: এটি আমার প্রশ্নের উত্তর দেয় না। কিন্তু সম্ভবত এই আছে: stackoverflow.com/questions/683124/neural-networks-obsolete
naught101

উত্তর:


25

আমি যে পরামর্শ দেব তা নিম্নরূপ:

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

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

  3. আপনি যদি সত্যিই নিউরাল নেটওয়ার্ক ব্যবহার করতে চান তবে একটি ফিডফোরওয়ার্ড মাল্টিলেয়ার পারসেপ্ট্রন (এমএলপি) টাইপ নেটওয়ার্কের পরিবর্তে একটি (নিয়মিত) রেডিয়াল ভিত্তিক ফাংশন নেটওয়ার্ক দিয়ে শুরু করুন।

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

ওভার-ফিটিং সনাক্ত করতে, সাধারণীকরণের পারফরম্যান্স পরীক্ষা করতে কেবল ক্রস-বৈধকরণ করুন।

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

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

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

আছে HTH

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

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