عند دراسة الدورات النظرية في التعلم الآلي (الرياضيات ، الاقتصاد ، التحسين ، التمويل ، إلخ) ، غالبًا ما يتم العثور على مفهوم "المشكلة المزدوجة".
غالبًا ما تستخدم المهام المزدوجة للحصول على تقديرات أقل (أو أعلى) للهدف الوظيفي في مشكلات التحسين. بالإضافة إلى ذلك ، بالنسبة إلى أي بيان تقريبًا عن مشكلة التحسين ، فإن المشكلة المزدوجة لها تفسير ذو معنى. وهذا هو ، إذا كنت تواجه مشكلة تحسين مهمة ، فمن المحتمل أن تكون المشكلة المزدوجة هي الأكثر أهمية.
في هذه المقالة سأتحدث عن الازدواجية المخروطية. في رأيي ، هذه الطريقة لبناء المهام المزدوجة محرومة من الاهتمام ...
ماتان المقبل ...
كيف يتم بناء المهام المزدوجة عادة؟
دع بعض مشاكل التحسين تعطى:
minx inRnf(x)fi(x) leq0، quad1 leqi leqkhi(x)=0،1 leqi leqm
يتم إنشاء المهمة المزدوجة وفقًا للمخطط التالي:
L(x، lambda، mu)=f(x)+ sumki=1 lambdaifi(x)+ summi=1 muihi(x)
g( lambda، mu)= infxL(x، lambda، mu)
max lambda، mug( lambda، mu) lambda geq0
الصعوبة الرئيسية في هذا المخطط هي سلكية في خطوة البحث
infxL(x، lambda، mu) .
إذا لم تكن المشكلة محدبة ، فهذه نعش - في الحالة العامة ، لا يمكن حلها في وقت متعدد الحدود (إذا
P neqNP ) وهذه المشكلات في هذه المقالة لن نتطرق إليها في المستقبل.
نفترض أن المشكلة هي محدبة ، ثم ماذا؟
إذا كانت المشكلة سلسة ، فيمكننا استخدام شرط الأمثلية من الدرجة الأولى
nablaxL(x، lambda، mu)=0 . من هذه الحالة ، إذا كان كل شيء على ما يرام ، فإنه يتحول إلى استنتاج أو
x( lambda، mu)= arg minxL(x، lambda، mu) و
g( lambda، mu)=L(x( lambda، mu)، lambda، mu) أو وظيفة مباشرة
g( lambda، mu) .
إذا لم تكن المشكلة سلسة ، فيمكننا استخدام تناظرية لحالة من الدرجة الأولى
0 in partxL(x، lambda، mu) (هنا
الجزئيL(x، lambda، mu) يدل على التفضيل الفرعي للدالة
L(x، lambda، mu) ) ، ومع ذلك ، عادة ما يكون هذا الإجراء أكثر تعقيدًا.
في بعض الأحيان توجد مشكلة تحسين "سلسة" مكافئة ويمكن للمرء إنشاء مشكلة مزدوجة لها. ولكن لتحسين الهيكل (من غير السلس إلى السلس) ، كقاعدة عامة ، عليك دائمًا دفع زيادة في البعد.
الازدواجية المخروطية
هناك عدد غير قليل من مهام التحسين (الأمثلة أدناه) التي تعترف بالتمثيل التالي:
minx inRncTxAx+b inK
اين
دولا - المصفوفة
ب - ناقل
K - مخروط محدب غير متحلل.
في هذه الحالة ، يمكن إنشاء المهمة المزدوجة وفقًا للمخطط التالي:
يتم إنشاء المهمة المزدوجة وفقًا للمخطط التالي:
L(x، lambda)=cTx+ lambdaT(Ax+b)
g( lambda)= infxL(x، lambda)= startcases lambdaTb، quadc+AT lambda=0− infty، quadc+AT lambda neq0 endcases
max lambdabT lambdac+AT lambda=0− lambda inK∗
أين هو المخروط المتقارن
K∗ للمخروط
K كما هو محدد
K ^ * = \ left \ {y \ in R ^ k | z ^ T y \ geq 0، \ quad \ forall z \ in K \ right \} .
كما نرى ، تم نقل التعقيد الكامل لبناء المشكلة المزدوجة إلى بناء المخروط المزدوج. لكن الفرح هو أن هناك حساب التفاضل والتكامل الجيد لبناء المخاريط المزدوجة وغالبا ما يمكن كتابة مخروط مزدوج على الفور.
مثال
لنفترض أننا بحاجة إلى إنشاء مشكلة أمثلية للمشكلة:
minx inRn |x |2+ |x |1Ax geqb
هنا
|x |1= sumni=1|xi| ،
|x |2= sqrt sumni=1x2iأول شيء يمكن أن تلاحظه: يمكن دائمًا جعل الوظيفة الموضوعية خطية!
بدلاً من ذلك ، هناك دائمًا مشكلة مكافئة مع دالة موضوعية خطية:
minx inRn،y inR،z inRy+z |x |2 leqy |x |1 leqzAxe geqب
أنت الآن بحاجة إلى استخدام القليل من المعرفة السرية: كثير
K_1 = \ {(x، t) \ in R ^ n \ times R | \ quad \ | x \ | _1 \ leq t \}
و

هي مخروط محدب.
وبالتالي ، وصلنا إلى التدوين المعادل للمشكلة:
minx inRn،y inR،z inRy+zIn+1 تبدأpmatrixxy endpmatrix+0n+1 inK2In+1 startpmatrixxz endpmatrix+0n+1 inK1Ax−b inRk+
الآن يمكننا على الفور كتابة مشكلة مزدوجة:
max lambda، mu، nu−bT nu lambdai+ mui+[AT nu]i=0، quad1 leqi leqn lambdan+1+1=0 mun+1+1=0− lambda فيK∗2(=K2)− mu inK∗1(=K infty)− nu inRk+
أو ، لتبسيط قليلا ،
max lambda، mu، nu−bT nu lambda+ mu+AT nu=0 | lambda |2 leq1 | mu | infty leq1− nu inRk+
اين
| mu | infty= maxi| mui| .
روابط لمزيد من الدراسة: