কোনও যন্ত্র লার্নিং মডেলের জন্য "ক্ষতি" এবং "নির্ভুলতা" কীভাবে ব্যাখ্যা করবেন


200

আমি যখন থিয়ানো বা টেনসরফ্লো দিয়ে আমার নিউরাল নেটওয়ার্ককে প্রশিক্ষণ দিয়েছি তখন তারা প্রতি যুগে "ক্ষতি" নামে একটি পরিবর্তনশীল প্রতিবেদন করবে।

আমি এই পরিবর্তনশীল কীভাবে ব্যাখ্যা করব? উচ্চ ক্ষতির চেয়ে ভাল বা খারাপ, বা এটি আমার নিউরাল নেটওয়ার্কের চূড়ান্ত কর্মক্ষমতা (যথার্থতা) এর অর্থ কী?

উত্তর:


283

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

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

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

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

উদাহরণস্বরূপ, যদি পরীক্ষার নমুনাগুলির সংখ্যা 1000 হয় এবং মডেলগুলি 952 টি সঠিকভাবে শ্রেণিবদ্ধ করে, তবে মডেলের যথার্থতা 95.2%।

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

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


2
হাই @ আমির, আপনার খুব বিশদ বিবরণের জন্য ধন্যবাদ। তবে, আমার একটি সমস্যা রয়েছে: আমার নিউরাল নেটওয়ার্কে, প্রশিক্ষণ নেওয়ার সময় সর্বদা লোকসান হ্রাস পায় (যখন মহাকাশগুলি বৃদ্ধি পাবে) তবে যথার্থতা আরও ভাল নয়।
mamatv

8
@ মামাতভ যতক্ষণ না ব্যয় হ্রাস হচ্ছে আপনার যাওয়া উচিত। যদিও ব্যয় এবং যথার্থতা সাধারণত একটি বিপরীত আনুপাতিকতা সম্পর্ক থাকে, তবে আপনি লক্ষ করতে পারেন যে নির্ভুলতা শূন্য-এক ত্রুটির সংমিশ্রণ যেখানে ব্যয়টি ভাসমান পয়েন্ট সংখ্যার সংমিশ্রণ। অতএব, ব্যয়টিতে 0.001% হ্রাসের অর্থ যথাযথভাবে 0.001% বৃদ্ধি নয়। মূল্য হ্রাস যখন অদম্য হয় তখন নির্ভুলতা বৃদ্ধি করা আরও শক্ত হয় - খরচ স্থানীয় মিনিমার খুব কাছে থাকে)
আমির

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

1
ক্ষয়ক্ষতি কমানোর চেয়ে মডেলটিকে নির্ভুলতা বাড়াতে প্রশিক্ষণ দিচ্ছেন না কেন?
বিকাশগ

2
@ বিকাশগ নির্ভুলতা পার্থক্যযোগ্য নয় এবং তাই আপনি এটিতে ব্যাকপ্রপ করতে পারবেন না।
ধর্মতুর্তেল

23

আপনার মডেলের কর্মক্ষমতা সাধারণত বিভিন্ন পর্যায়ে ব্যবহৃত হয় তা মূল্যায়নের জন্য এগুলি দুটি আলাদা মেট্রিক।

আপনার মডেলটির জন্য "সেরা" পরামিতি মানগুলি (যেমন নিউরাল নেটওয়ার্কের ওজন) সন্ধানের জন্য প্রশিক্ষণ প্রক্রিয়ায় প্রায়শই ক্ষতি ব্যবহৃত হয়। আপনি ওজন আপডেট করে প্রশিক্ষণের ক্ষেত্রে এটিই অনুকূলিতকরণের চেষ্টা করছেন।

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

আসুন একটি খেলনা শ্রেণিবদ্ধকরণ উদাহরণ ব্যবহার করুন। আপনি কারও ওজন এবং উচ্চতা থেকে লিঙ্গ সম্পর্কে ভবিষ্যদ্বাণী করতে চান। আপনার কাছে 3 টি ডেটা রয়েছে, সেগুলি নিম্নরূপ: (0 টি পুরুষের জন্য, 1 জন মহিলা হিসাবে)

y1 = 0, x1_w = 50 কেজি, এক্স 2_ ঘন্টা = 160 সেমি;

y2 = 0, x2_w = 60 কেজি, এক্স 2_এইচ = 170 সেমি;

y3 = 1, x3_w = 55 কেজি, এক্স 3_ ঘন্টা = 175 সেমি;

আপনি একটি সাধারণ লজিস্টিক রিগ্রেশন মডেল ব্যবহার করেন যা y = 1 / (1 + এক্সপ্রেস- (বি 1 * x_w + বি 2 * x_h))

আপনি কীভাবে বি 1 এবং বি 2 খুঁজে পাবেন? আপনি প্রথমে ক্ষতির সংজ্ঞা দিন এবং বি 1 এবং বি 2 আপডেট করে পুনরুক্তি পদ্ধতিতে ক্ষতি হ্রাস করতে অপ্টিমাইজেশন পদ্ধতি ব্যবহার করেন।

আমাদের উদাহরণস্বরূপ, এই বাইনারি শ্রেণিবদ্ধকরণ সমস্যার জন্য একটি সাধারণ ক্ষতি হতে পারে: (সামিট চিহ্নের সামনে একটি বিয়োগ চিহ্ন যোগ করা উচিত)

আমরা জানি না বি 1 এবং বি 2 কী হওয়া উচিত। আসুন আমরা এলোমেলো অনুমান করি বি 1 = 0.1 এবং বি 2 = -0.03 বলি। তাহলে এখন আমাদের ক্ষতি কী?

সুতরাং ক্ষতি হয়

তারপরে আপনি অ্যালগরিদম শিখবেন (যেমন গ্রেডিয়েন্ট বংশদ্ভূত) ক্ষতি হ্রাস করতে বি 1 এবং বি 2 আপডেট করার একটি উপায় খুঁজে পাবেন।

বি 1 = 0.1 এবং বি 2 = -0.03 যদি চূড়ান্ত বি 1 এবং বি 2 (গ্রেডিয়েন্ট বংশোদ্ভূত উত্স থেকে আউটপুট) হয় তবে এখন সঠিকতা কত?

আসুন ধরে নেওয়া যাক y_hat> = 0.5, আমরা আমাদের ভবিষ্যদ্বাণীটি মহিলা (1) স্থির করি। অন্যথায় এটি 0 হবে Therefore সুতরাং, আমাদের অ্যালগরিদম y1 = 1, y2 = 1 এবং y3 = 1 পূর্বাভাস দেয় আমাদের যথার্থতা কী? আমরা y1 এবং y2 এর উপর ভুল ভবিষ্যদ্বাণী করি এবং y3 এর সাথে সঠিক একটি করি। সুতরাং এখন আমাদের নির্ভুলতা 1/3 = 33.33%

পিএস: আমিরের উত্তরে ব্যাক-প্রচারকে এনএন-তে একটি অপ্টিমাইজেশন পদ্ধতি বলা হয়। আমি মনে করি এটি এনএন এর ওজনের জন্য গ্রেডিয়েন্ট সন্ধান করার একটি উপায় হিসাবে বিবেচিত হবে। এনএন-তে সাধারণ অপ্টিমাইজেশন পদ্ধতি হ'ল গ্রেডিয়েন্টডেসেন্ট এবং অ্যাডাম।


গণিতের জন্য আপনাকে ধন্যবাদ এটি ধারণাটি পরিষ্কার করতে সহায়তা করেছে।
ফিন ফ্রটসচার

6

@ আদনান শুধু প্রশিক্ষণ / বৈধকরণ / পরীক্ষার ডেটা সেটগুলি পরিষ্কার করতে: প্রশিক্ষণ সেটটি নিউরাল নেটওয়ার্কের ওজন সূচনা করে মডেলের প্রাথমিক প্রশিক্ষণ সম্পাদন করতে ব্যবহৃত হয়।

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

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

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