मैंने IRLS एल्गोरिथ्म का उपयोग करके एक लॉजिस्टिक रिग्रेशन प्रोग्राम किया है । मैं स्वचालित रूप से सही सुविधाओं का चयन करने के लिए एक LASSO दंड लागू करना चाहूंगा । प्रत्येक पुनरावृत्ति पर, निम्न हल किया जाता है:
Let एक गैर-नकारात्मक वास्तविक संख्या है। मैं तत्वों के रूप में सुझाए गए अवरोधन को दंडित नहीं कर रहा हूं । सांख्यिकीय सीखना । पहले से ही शून्य गुणांक के लिए डिट्टो। अन्यथा, मैं दाईं ओर से एक शब्द घटाता हूं:
हालाँकि, मैं IRLS एल्गोरिथ्म के संशोधन के बारे में अनिश्चित हूं। क्या यह सही तरीका है?
संपादित करें: हालांकि मैं इसके बारे में आश्वस्त नहीं था, यहाँ समाधान मैं अंत में के साथ आया है में से एक है। यह दिलचस्प है कि यह समाधान उस चीज से मेल खाता है जिसे मैं अब LASSO के बारे में समझता हूं। वास्तव में केवल एक के बजाय प्रत्येक पुनरावृत्ति पर दो चरण हैं:
- पहला चरण पहले जैसा ही है: हम एल्गोरिथ्म का एक पुनरावृत्ति बनाते हैं (जैसे कि ऊपर के ढाल के लिए सूत्र में ),
- दूसरा चरण नया है: हम पहले चरण में प्राप्त किए गए वेक्टर प्रत्येक घटक को छोड़कर (प्रत्येक घटक को छोड़कर) को , जो कि घटक के इंटरसेप्टर से मेल खाता है) । इसे Iterative Soft-Thresholding Algorithm कहा जाता है । β