বহু বহুবিধ লজিস্টিক লস বনাম (ক্রস এন্ট্রপি বনাম স্কোয়ার ত্রুটি)


9

আমি লক্ষ্য করেছি যে ক্যাফে (একটি গভীর শিক্ষার কাঠামো) বেশিরভাগ মডেলের নমুনাগুলির জন্য আউটপুট স্তর হিসাবে সফটম্যাক্স লস লেয়ার ব্যবহার করে ।SoftmaxWithLoss

যতদূর আমি জানি, সফটম্যাক্স লস স্তরটি বহু বহুবিধ লজিস্টিক লস লেয়ার এবং সফটম্যাক্স লেয়ারের সংমিশ্রণ ।

ক্যাফে থেকে, তারা বলেছে যে

সফটম্যাক্স লস লেয়ার গ্রেডিয়েন্ট গণনা আরও সংখ্যাসূচক স্থিতিশীল

যাইহোক, এই ব্যাখ্যাটি আমি যে উত্তরটি চাই তা নয়, ব্যাখ্যাটি কেবলমাত্র স্তরের পরিবর্তে মাল্টিনোমিয়াল লজিস্টিক লস লেয়ার এবং সফটম্যাক্স লস স্তরটির সংমিশ্রণের তুলনা করে । তবে অন্য ধরণের ক্ষতির ফাংশনের সাথে তুলনা করবেন না।

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


1
কেবল একটি ইঙ্গিত: আমার ধারণা আপনি যদি আপনার প্রশ্নের সাথে "ক্যাফে" ট্যাগ যুক্ত করেন তবে আপনি একটি দ্রুত উত্তর পেয়ে যাবেন। এছাড়াও স্ট্যাকএক্সচেঞ্জের পরিবর্তে স্ট্যাকওভারফ্লোতে পোস্ট করা এটি আরও মনোযোগ দিতে পারে)।
এমসি এক্সচেঞ্জ

1
সংমিশ্রণটি গ্রেডিয়েন্টকে গণনা করা সহজ করে তোলে, ঠিক y-twillamette.edu/~gorr/class/cs449/classify.html

উত্তর:


11

আমার মতে লোকসান ফাংশন হ'ল উদ্দেশ্যমূলক ফাংশন যা আমরা চাই আমাদের নিউরাল নেটওয়ার্কগুলি এটি অনুসারে এর ওজনকে অনুকূল করতে পারে। অতএব, এটি কার্য-নির্দিষ্ট এবং একরকম অভিজ্ঞতাগতও। কেবল স্পষ্ট করে বলতে গেলে , বহুজাতিক লজিস্টিক লস এবং ক্রস এন্ট্রপি ক্ষতি একই (দয়া করে http://ufldl.stanford.edu/wiki/index.php/Softmax_Regression দেখুন )। মাল্টিনোমিয়াল লজিস্টিক লসের ব্যয় ফাংশনটি এর মতো J(θ)=1m[i=1my(i)loghθ(x(i))+(1y(i))log(1hθ(x(i)))].

এটি সাধারণত শ্রেণিবদ্ধকরণ সমস্যার জন্য ব্যবহৃত হয়। স্কয়ার ত্রুটি মত সমীকরণ হয়েছে 12Ni=1Nxi1xi222.

অতএব, এটি নির্মাণের কিছু ত্রুটি ব্যবহার করে সাধারণত হ্রাস করতে ব্যবহৃত হয়।

সম্পাদনা করুন: @ মার্টিনথোমা বহু-জাতীয় রসদ হ্রাসের উপরের সূত্রটি কেবল বাইনারি ক্ষেত্রে, সাধারণ ক্ষেত্রে, এটি হওয়া উচিত J(θ)=[i=1mk=1K1{y(i)=k}logP(y(i)=k|x(i);θ)], যেখানে কে বিভাগের সংখ্যা।


2
Caffe সালে MultinomialLogisticLoss হয়1Nn=1Nlog(pn,ln), তাহলে এখানে কে ভুল?
moi

ভুল নয়, yiবাইনারি ভেরিয়েবল হয়, শেষ পর্যন্ত, এটি আপনার গঠনের মধ্যে হ্রাস করা যেতে পারে।
বিহ্যাকার

আমি ভেবেছিলাম মাল্টিনমেল লজিস্টিক ক্ষতি দ্বিতীয় সমষ্টি ছাড়াই ছিল, তাই J(θ)=1m[i=1my(i)loghθ(x(i))]
মার্টিন থোমা 26'16

1
@ মার্টিনথোমা আমার সূত্রটি কেবল বাইনারি কেসের জন্য, সাধারণ ক্ষেত্রে এটি হওয়া উচিত J(θ)=[i=1mk=1K1{y(i)=k}logP(y(i)=k|x(i);θ)]
বিহ্যাকার

@ বিহাকার আপনি মার্টিন থোমার নির্দেশ অনুসারে মাল্টিনোমিনাল মামলায় দ্বিতীয় সমান কেন অন্তর্ভুক্ত করা হয়নি তা দয়া করে আমাকে বলতে পারেন? আমি কেন চেষ্টা করে দেখছি যে এটি কেন এমন হয়। অন্ততপক্ষে আপনি আমাকে অনুসন্ধান করতে কিছু সংস্থানতে নির্দেশ করতে পারেন।
নন্দীশ

2

আমি আরও জানতে চাই যে এই 3 ত্রুটি ফাংশনের পার্থক্য / সুবিধাগুলি / অসুবিধাগুলি যা তত্ত্বাবধানে শেখার দৃষ্টিভঙ্গিতে মাল্টিনোমিয়াল লজিস্টিক লস, ক্রস এন্ট্রপি (সিই) এবং স্কয়ার ত্রুটি (এসই)?

বহু-জাতীয় লজিস্টিক ক্ষতি কার্যত ক্রস এনট্রপি হিসাবে একই। এই ফাংশনটি দেখুন ( সফটম্যাক্সের ব্যয় ফাংশন ):

J(θ)=i=1mk=1K1{y(i)=k}logp(y(i)=kx(i);θ)
যেখানে মি হ'ল নমুনা সংখ্যাটি, কে শ্রেণিবদ্ধ নম্বর।

সূচক ফাংশন (1{y(i)=k}) নির্ধারণ করে যে p(x)বেলো ক্রস এনট্রপি সংজ্ঞাতে 0 বা 1 , যা প্রশিক্ষণের ডেটাতে একটি গরম হিসাবে চিহ্নিত করা হয় এবংp(y(i)=kx(i);θ) হ'ল সফটম্যাক্সের শর্তযুক্ত সম্ভাবনা (কিউ (এক্স) বেলো হিসাবে দেখানো হয়েছে)।

xp(x)logq(x)

এবং এমএসই মূলত সেই পরিস্থিতিতে যেখানে লিঙ্ক ফাংশনটি হ'ল unityক্য ফাংশন (প্রতিক্রিয়া বিতরণটি একটি সাধারণ বিতরণ অনুসরণ করে), আদর্শ লিনিয়ার রিগ্রেশন, যখন ক্রস এনট্রপি সাধারণত লিংক ফাংশন যেখানে লিংক ফাংশন সেটির জন্য। আপনি উল্লেখ করতে পারেন এখানে দুর্দান্ত একটি তুলনা করা হয়।

কোন সহায়ক নিবন্ধ?

লিঙ্কগুলির মধ্যে ব্যতীত, আপনাকে এই চিত্রিত চিত্রটির প্রস্তাব দিন: https://github.com/rasbt/python-machine-learning-book/blob/master/faq/softmax_regression.md


1
এমএসই একটি (বাইনারি) শ্রেণিবদ্ধের জন্য প্রয়োগ করা হয় তাকে বারিয়োর স্কোর বলে।
ডেভ

0

সংক্ষিপ্ত উত্তর অন্যান্য উত্তর অনুসারে বহু বহুবিধ লজিস্টিক ক্ষতি এবং ক্রস এন্ট্রপি ক্ষতি একই are

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

এই ধরণের নেটওয়ার্কগুলিতে আউটপুট হিসাবে একের সম্ভাবনা থাকতে পারে তবে বহুজাতিক নেটওয়ার্কের সিগময়েডগুলির সাথে এটি হয় না। সফটম্যাক্স ফাংশন আউটপুটগুলিকে স্বাভাবিক করে তোলে এবং তাদের সীমার মধ্যে জোর করে[0,1]। এটি এমএনআইএসটি শ্রেণিবদ্ধকরণে উদাহরণস্বরূপ কার্যকর হতে পারে।

কিছু অন্তর্দৃষ্টি সহ দীর্ঘ উত্তর

উত্তরটি বেশ দীর্ঘ তবে আমি সংক্ষেপে জানার চেষ্টা করব।

ব্যবহৃত প্রথম আধুনিক কৃত্রিম নিউরনগুলি হ'ল সিগময়েডগুলি যার ফাংশন:

σ(x)=11+ex
যার নিম্নলিখিত আকার রয়েছে: এখানে চিত্র বর্ণনা লিখুন

কার্ভটি দুর্দান্ত কারণ এটি আউটপুট সীমার মধ্যে রয়েছে বলে গ্যারান্টি দেয় [0,1]

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

চতুর্ভুজ ব্যয় ফাংশন সহ প্রশিক্ষিত সিগময়েড সহ একটি এনএন এখন বিবেচনা করুন L স্তর।

আমরা ইনপুটগুলির সেটের জন্য আউটপুট স্তরের স্কোয়ার ত্রুটির যোগফল হিসাবে ব্যয় কার্যটি সংজ্ঞায়িত করি X:

C=12NxNj=1K(yj(x)ajL(x))2

কোথায় ajL আউটপুট স্তরের জে-থিউ নিউরন L, yj পছন্দসই আউটপুট এবং N প্রশিক্ষণের উদাহরণ সংখ্যা।

সরলতার জন্য আসুন একক ইনপুটটির জন্য ত্রুটিটি বিবেচনা করি:

C=j=1K(yj(x)ajL(x))2

এখন এর জন্য একটি অ্যাক্টিভেশন আউটপুট j ইন নিউরন স্তর, aj হল:

aj=kwjkaj1+bj=wjaj1+bj

বেশিরভাগ সময় (সর্বদা না থাকলে) এনএন গ্রেডিয়েন্ট বংশোদ্ভূত কৌশলগুলির সাথে প্রশিক্ষিত হয়, যা মূলত ওজনগুলি আপডেট করার অন্তর্ভুক্ত w এবং পক্ষপাত bকমানোর দিকের দিকে ছোট ছোট পদক্ষেপ দ্বারা। লক্ষ্যটি হ'ল ব্যয় কার্যকারিতা হ্রাস করার দিকের দিকে ওজন এবং বায়াসগুলিতে একটি সামান্য পরিবর্তন প্রয়োগ করা।

ছোট পদক্ষেপের জন্য নিম্নলিখিতগুলি ধারণ করে:

ΔCCviΔvi

আমাদের viওজন এবং বায়াস। এটি একটি ব্যয় ফাংশন হওয়ায় আমরা হ্রাস করতে চাই, অর্থাত্ যথাযথ মানটি সন্ধান করতেΔvi। ধরুন আমরা বেছে নিই

Δvi=ηCvi
তারপরে:
ΔCη(Cvi)

যার অর্থ পরিবর্তন Δvi পরামিতি দ্বারা ব্যয় কার্য কমে দ্বারা ΔC

বিবেচনা করুন j- আউটপুট নিউরন:

C=12(y(x)ajL(x)2
ajL=σ=11+e(wjaj1+bj)

মনে করুন আমরা ওজন আপডেট করতে চাই wjk যা নিউরন থেকে ওজন k মধ্যে 1 স্তর স্তর j-আল স্তর মধ্যে নিউরন। তারপর আমাদের আছে:

wjkwjkηCwjk
bjbjηCbj

চেইন বিধি ব্যবহার করে ডেরিভেটিভগুলি গ্রহণ:

সিW=(একটিএল(এক্স)-Y(এক্স))σ'একটি-1
সি=(একটিএল(এক্স)-Y(এক্স))σ'

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

এখন জেনেরিক একক ভেরিয়েবল সিগময়েডের জন্য ডেরাইভেটিভ z- র হল:

σ(z- র)z- র=σ(z- র)(1-σ(z- র))

এখন একটি একক আউটপুট নিউরন বিবেচনা করুন এবং মনে করুন যে নিউরনের আউটপুট হওয়া উচিত 0 পরিবর্তে এটি কাছাকাছি একটি মান আউটপুট হয় 1: আপনি গ্রাফ থেকে উভয়ই দেখতে পাবেন যা সিগময়েডের মানগুলির নিকটে রয়েছে 1 সমতল, যেমন এর ডেরাইভেটিভ কাছাকাছি 0, অর্থাত্ প্যারামিটারের আপডেটগুলি খুব ধীর হয় (যেহেতু আপডেটের সমীকরণগুলি নির্ভর করে σ'

ক্রস-এনট্রপি ফাংশন প্রেরণা

ক্রস-এনট্রপিটি কীভাবে মূলত উদ্ভূত হয়েছে তা দেখতে, ধরুন যে কেউ এই শব্দটি সন্ধান করেছেন σ'শেখার প্রক্রিয়াটি ধীর করে দিচ্ছে। আমরা ভাবতে পারি যে এই শব্দটি তৈরির জন্য কোনও ব্যয় ফাংশন চয়ন করা সম্ভব কিনা σ'উধাও হয়ে যায়। মূলত কেউ চাইবে:

সিW=এক্স(একটি-Y)সি=(একটি-Y)
আমাদের চেইন-রুল থেকে:
সি=সিএকটিএকটি=সিএকটিσ'(z- র)=সিএকটিσ(1-σ)
চেইন রুলের একটির সাথে কাঙ্ক্ষিত সমীকরণের তুলনা করলে একটি পাওয়া যায়
সিএকটি=একটি-Yএকটি(1-একটি)
কভার আপ পদ্ধতি ব্যবহার করে:
সিএকটি=-[YLnএকটি+ +(1-Y)Ln(1-একটি)]+ +এনগুলিটি
সম্পূর্ণ ব্যয় ক্রিয়াকলাপটি পেতে, আমাদের অবশ্যই সমস্ত প্রশিক্ষণের নমুনাগুলির চেয়ে বেশি গড় করতে হবে
সিএকটি=-1এনΣএক্স[YLnএকটি+ +(1-Y)Ln(1-একটি)]+ +এনগুলিটি
যেখানে এখানে ধ্রুবক প্রতিটি প্রশিক্ষণের উদাহরণের জন্য পৃথক ধ্রুবকের গড় is

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

Softmax

বাইনারি শ্রেণিবদ্ধকরণের জন্য ক্রস-এনট্রপি তথ্য তত্ত্বের সংজ্ঞাটির সাথে সাদৃশ্যপূর্ণ এবং মানগুলি এখনও সম্ভাবনার হিসাবে ব্যাখ্যা করা যায়।

বহুজাতিক শ্রেণিবদ্ধকরণের সাথে এটি আর সত্য হয় না: আউটপুটগুলি নোট পর্যন্ত যোগ করে 1

আপনি যদি তাদের চান যোগ করতে চান 1 আপনি সফটম্যাক্স ফাংশনটি ব্যবহার করেন যা আউটপুটগুলিকে স্বাভাবিক করে তোলে যাতে যোগফল হয় 1

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

যাহোক

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