ডেটা ম্যাট্রিক্সটি তির্যক হলে লসো সমস্যার জন্য ফর্ম সমাধান বন্ধ


13

আমাদের সমস্যা রয়েছে:

minwRd(1ni=1n(w,xiyi)2+2λ||w||1),
এই অনুমান সহ:
i=1nxixiT=diag(σ12,...,σd2).

এক্ষেত্রে কি কোনও বন্ধ-ফর্ম সমাধান রয়েছে?

আমার কাছে এটি রয়েছে:

(XTX)1=diag(σ12,...,σd2),
এবং তাই আমার মনে হয় উত্তরটি : w \, ^ j = y \, ^ j \ সর্বোচ্চ \ বামে \ {0,1- \ ল্যাম্বদা da frac\ {n}} | y ^ j |} \ ডান \}, y
wj=yjmax{0,1λn|yj|},
for yj=i=1nyixijσi2 , তবে আমি নিশ্চিত নই।

উত্তর:


9

আমি যখন XTX=I , ছোটখাট পরিবর্তনগুলি সহ এখানে পেয়েছি তখন বন্ধ ফর্ম ল্যাসো সমাধানের @ কার্ডিনাল এর ডেরাইভেশনটি যাচ্ছি ।

আমি যে অভিমানী হবেন সকলের জন্য । এটি ন্যায়সঙ্গত কারণ আমাদের যদি একটি তবে এটি আমাদেরকে বলে যে ম কলামটি সমস্ত 0, এবং আমি মনে করি যে এই জাতীয় কেস বাদ দেওয়া যুক্তিসঙ্গত। আমি । নোট করুন যে এর অর্থ এইও যে পূর্ণ পদমর্যাদার এবং ওএলএস দ্রবণ স্বতন্ত্রভাবে সংজ্ঞায়িত।σi2>0iσi2=0iXXTX=DXβ^

আমি উল্লেখ করছি যে উত্তরে আমি উল্লেখ করছি আরও ভাল মেলে আপনার স্বীকৃতি পরিবর্তন করতে যাচ্ছি। সেই লক্ষ্যে, আমি

β^λ=argminβRp12||YXβ||22+λ||β||1.

এটি আপনার সমস্যার অনুরূপ তবে আপনি চাইলে আমি এখানে আরও বিশদ যুক্ত করতে পারি।

@ কার্ডিনালের অনুসরণ করার পরে, আমাদের কাছে সমাধান করা দরকার

β^λ=argmin 12(YTY2YTXβ+βTXTXβ)+λ||β||1

=argmin YTXβ+12βTDβ+λ||β||1.

ওএলএস দ্রবণটি হ'ল , আমাদের কাছে β^=(XTX)1XTY=D1XTY

β^λ=argmin β^TDβ+12βTDβ+λ||β||1

=argmin j=1pβ^jβjσj2+σj22βj2+λ|βj|.

আমরা প্রতিটি আলাদাভাবে অপ্টিমাইজ করছি , যাতে আমরা এই যোগফলের প্রতিটি পদ পৃথকভাবে সমাধান করতে পারি। এর অর্থ আমাদের যেখানে βjLj

Lj=β^jβjσj2+σj22βj2+λ|βj|.

উত্তরের সম্পূর্ণ অ্যানালগাস যুক্তি অনুসরণ করে আমরা দেখতে যে

(β^λ)j=sgn(β^j)(|β^j|λσj2)+.

তদুপরি, সুতরাং আমাদের কাছে β^=D1XTYβ^j=XjTYσj2

(|β^j|λσj2)+=1σj2(|XjTY|λ)+

সুতরাং দেখা যাচ্ছে যে কোনও ভবিষ্যদ্বাণীকারী ঠিক তখনই শূন্য হয়ে যায় যখন ডিজাইন ম্যাট্রিক্স কেবল অরথোগোনাল নয়, ছিল। সুতরাং আমরা দেখতে পাচ্ছি যে , পরিবর্তনশীল নির্বাচনটি চেয়ে আলাদা নয়, তবে আসল সহগ অনুযায়ী হয়।XjXTX=DIXTX=Iβ^λ

চূড়ান্ত দ্রষ্টব্য হিসাবে, আমি এই সমাধানটিকে আপনার মতো দেখায় এমন একটিতে পরিণত করব যার অর্থ পাওয়ার জন্য আমাদের কিছু দিয়ে গুণ করা দরকার । যদি তবে আমাদের কাছে এটি β^β^λ(β^λ)j0

(β^λ)j=sgn(β^j)(|β^j|λσj2)=β^jsgn(β^j)λσj2

=β^j(1λσj2|β^j|)

যেহেতু ।a|a|=sgn(a)

উল্লেখ্য ঠিক যখন (β^λ)j=0

|β^j|λσj20|β^j|λσj21λσj2|β^j|1λσj2|β^j|0,

আমরা দেখতে পাচ্ছি যে আমরা বিকল্প হিসাবে β^λ

(β^λ)j=β^j(1λσj2|β^j|)+.

সুতরাং এটি আপনার কাছে যা ছিল খুব কাছাকাছি কিন্তু ঠিক এক রকম নয়।

আমি সর্বদা সুপরিচিত গ্রন্থাগারগুলির থেকে এর বিপরীতে যদি পরীক্ষা করা যায় তা পরীক্ষা করতে পছন্দ করি, সুতরাং এখানে আর এর একটি উদাহরণ রয়েছে:

## generating `x`
set.seed(1)
n = 1000
p = 5
sigma2s = 1:p
x = svd(matrix(rnorm(n * p), n, p))$u %*% diag(sqrt(sigma2s))

## check this
# t(x) %*% x

## generating `y`
betas = 1:p
y = x %*% betas + rnorm(nrow(x), 0, .5)

lambda = 2

## using a well-known library to fit lasso
library(penalized)
penalized(y, x, lambda1 = lambda)@penalized


## using closed form solution
betahat = lm(y ~ x - 1)$coef
ifelse(betahat > 0, 1, -1) * sapply(abs(betahat) - lambda / sigma2s, function(v) max(c(0, v)))
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.