قليلا عن الازدواجية المخروطية

عند دراسة الدورات النظرية في التعلم الآلي (الرياضيات ، الاقتصاد ، التحسين ، التمويل ، إلخ) ، غالبًا ما يتم العثور على مفهوم "المشكلة المزدوجة".

غالبًا ما تستخدم المهام المزدوجة للحصول على تقديرات أقل (أو أعلى) للهدف الوظيفي في مشكلات التحسين. بالإضافة إلى ذلك ، بالنسبة إلى أي بيان تقريبًا عن مشكلة التحسين ، فإن المشكلة المزدوجة لها تفسير ذو معنى. وهذا هو ، إذا كنت تواجه مشكلة تحسين مهمة ، فمن المحتمل أن تكون المشكلة المزدوجة هي الأكثر أهمية.

في هذه المقالة سأتحدث عن الازدواجية المخروطية. في رأيي ، هذه الطريقة لبناء المهام المزدوجة محرومة من الاهتمام ...

ماتان المقبل ...

كيف يتم بناء المهام المزدوجة عادة؟


دع بعض مشاكل التحسين تعطى:

 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 \}

و

K_2 $ = \ {(x، t) \ in R ^ n \ times R | \ quad \ | x \ | _2 \ leq t \} $

هي مخروط محدب.

وبالتالي ، وصلنا إلى التدوين المعادل للمشكلة:

 minx inRn،y inR،z inRy+zIn+1 تبدأpmatrixxy endpmatrix+0n+1 inK2In+1 startpmatrixxz endpmatrix+0n+1 inK1Axb inRk+



الآن يمكننا على الفور كتابة مشكلة مزدوجة:

 max lambda، mu، nubT nu lambdai+ mui+[AT nu]i=0، quad1 leqi leqn lambdan+1+1=0 mun+1+1=0 lambda فيK2(=K2) mu inK1(=K infty) nu inRk+


أو ، لتبسيط قليلا ،

 max lambda، mu، nubT nu lambda+ mu+AT nu=0 | lambda |2 leq1 | mu | infty leq1 nu inRk+



اين  | mu | infty= maxi| mui| .

روابط لمزيد من الدراسة:

Source: https://habr.com/ru/post/ar431756/


All Articles