লাসো বনাম অভিযোজিত লাসো


12

লাসো এবং অভিযোজিত লাসো দুটি ভিন্ন জিনিস, তাই না? (আমার কাছে, জরিমানাগুলি অন্যরকম দেখায়, তবে আমি কেবল কিছু মিস করছি কিনা তা যাচাই করে দেখছি))

আপনি যখন সাধারণত স্থিতিস্থাপক নেট সম্পর্কে কথা বলেন, বিশেষ ক্ষেত্রে লাসো বা অভিযোজক লাসো?

আপনি আলফা = 1 বাছাই করে কোনটি গ্ল্যামনেট প্যাকেজটি করে?

অভিযোজিত লাসো হালকা পরিস্থিতিতে কাজ করে, তাই না? উভয়েরই উপযুক্ত তথ্যগুলিতে ওরাকল সম্পত্তি রয়েছে, তাই না?

উত্তর:


15

আপনার প্রশ্নের সংক্ষিপ্ত উত্তর:

  • লাসো এবং অভিযোজিত লাসো আলাদা। (চেক জউ (2006) মানক লাসো থেকে অভিযোজিত লাসো কীভাবে পৃথক হয় তা দেখতে দেখুন))
  • লাসো ইলাস্টিক নেট এর একটি বিশেষ কেস। ( Zou & Hastie (2005) দেখুন ) )
    অভিযোজিত লাসো ইলাস্টিক নেটের কোনও বিশেষ ক্ষেত্রে নয়।
    ইলাস্টিক নেট লাসো বা অভিযোজিত লাসোর কোনও বিশেষ ক্ষেত্রে নয়।
  • glmnetআর এ "গ্ল্যামনেট" প্যাকেজে ফাংশন লাসো সঞ্চালন করে (অভিযোজিত লাসো নয়)alpha=1
  • লাসো কি অভিযোজিত লাসোর চেয়ে হালকা অবস্থার অধীনে কাজ করে? আমি এর উত্তর দিতে পারি না ( অন্তর্দৃষ্টিগুলির জন্য চিউ (2006) পরীক্ষা করা উচিত )।
  • কেবল অভিযোজিত লাসো (তবে লাসো বা ইলাস্টিক নেট নয়) এর রয়েছে ওরাকল সম্পত্তি। ( Zou (2006) দেখুন ।)

তথ্যসূত্র:


12

লাসো সলিউশন হ'ল সমাধানগুলি যা হ্রাস করা যায়

প্রশ্নঃ(β|এক্স,Y)=12এন||Y-এক্সβ||2+ +λΣ|β|

অভিযোজিত লাসো লাসো অনুমানের পক্ষপাতদুষ্ট হওয়ার জ্ঞাত সমস্যাটির প্রতিরোধ করার চেষ্টা করার জন্য এটি কেবল ওজনকে যুক্ত করে।

প্রশ্নঃএকটি(β|এক্স,Y,W)=12এন||Y-এক্সβ||2+ +λΣW|β|

প্রায়ই আপনাকে দেখতে হবে যেখানে, ~ β কিছু প্রাথমিক অনুমান β (হয়তো শুধু Lasso ব্যবহার করে, বা লিস্ট স্কোয়ার ব্যবহার, ইত্যাদি থেকে)। কখনও কখনও অভিযোজিত লাসো একটি "পাথওয়াই অ্যাপ্রোচ" ব্যবহার করে ফিট হয় যেখানে ওজনের সাথে change দিয়ে পরিবর্তন করার অনুমতি দেওয়া হয় λW=1/β~β~βλ

। ইন glmnet প্যাকেজ ওজন সঙ্গে সুনির্দিষ্ট করা যেতে পারে penalty.factor যুক্তি। আমি নিশ্চিত না আপনি গ্ল্যামনেটে "পথের দিকনির্দেশ" নির্দিষ্ট করতে পারেন কিনা

W(λ)=W(β~(λ))
glmnetpenalty.factorglmnet

আপনি জরিমানার শর্তে নিখুঁত মান নিতে ভুলে গেছেন।
রিচার্ড হার্ডি

ছোট সংযোজন: ওজনের ডিনোমিনেটর হওয়া উচিত , γ প্রায়ই 1 এর সমান সেট করা হয়, কিন্তু ক্রস বৈধতা হিসেব যেতে পারে। উপরন্তু, এটি শুধুমাত্র ব্যবহার করতে বৈধ β একটি রুট-এন সামঞ্জস্যপূর্ণ মূল্নির্ধারক থেকে প্রাপ্ত (কিন্তু আপনি ঠিক আছে, Lasso এবং ম ব্যবহার করা যেতে পারে করছি)। |β|γγβ
মার্সেল 10

সুতরাং মূলত, গ্ল্যামনেট ডিফল্টরূপে লাসো বা ইলাস্টিক নেট সম্পাদন করে, তবে আপনি উপযুক্ত ওজন উল্লেখ করে এটি অভিযোজিত লাসো (বা EN) এ স্যুইচ করতে পারেন? যদি এই ঘটনাটি হয় তবে ধন্যবাদ লক্ষ লক্ষ!
মিঃ বৈধকরণ

@ এমআরভিলেডেশন, নোট করুন যে অভিযোজিত লাসোর মতো নতুন পদ্ধতির লেখকদের কাছে তাদের ওয়েবসাইটগুলিতে পদ্ধতির কোড থাকতে পারে (কখনও কখনও তারা কেবল একটি আর প্যাকেজটির জন্য একটি রেফারেন্স দেয় যা তারা নিজেরাই লিখেছিল)।
রিচার্ড হার্ডি

1
আমি মনে করি গ্ল্যামনেটের ওজন যুক্তি পর্যবেক্ষণের জন্য ওজনকে বোঝায় এবং জরিমানার জন্য ওজন নয়
jmb

3

নিয়মিত পরিবর্তনশীল নির্বাচনের জন্য অভিযোজিত লাসো ব্যবহৃত হয়। ভেরিয়েবল নির্বাচনের জন্য লাসো ব্যবহার করার সময় আমরা যে সমস্যার মুখোমুখি হই তা হ'ল:

  • সংকোচন প্যারামিটার পূর্বাভাসের চেয়ে নির্বাচনের জন্য অবশ্যই বড় হতে হবে
  • বড় ননজারো প্যারামিটারগুলি খুব ছোট হবে যাতে পক্ষপাত খুব বড় হয় is
  • ছোট ননজারো প্যারামিটারগুলি ধারাবাহিকভাবে সনাক্ত করা যায় না
  • ভবিষ্যদ্বাণীকারীদের মধ্যে উচ্চ সম্পর্কের কারণে নির্বাচনের দুর্বলতা বাড়ে

সুতরাং ল্যাসো সংকোচনের প্যারামিটার, পরামিতিগুলি (বিটা-মিনিট শর্ত) এবং পারস্পরিক সম্পর্ক (অপ্রকাশনীয় শর্ত) এর কিছু অবস্থার অধীনে পরিবর্তনশীল নির্বাচনের জন্য কেবল সামঞ্জস্যপূর্ণ। বিস্তারিত ব্যাখ্যার জন্য আমার মাস্টার্স গবেষণার পৃষ্ঠা 101-106 দেখুন ।

পূর্বাভাসের জন্য টিউনিং প্যারামিটারটি নির্বাচন করার সময় লাসো প্রায়শই অনেকগুলি ভেরিয়েবল অন্তর্ভুক্ত করে তবে সত্যিকারের মডেল সম্ভবত এই ভেরিয়েবলগুলির একটি উপসেট। এটি ভবিষ্যদ্বাণী-অনুকূল টিউনিং প্যারামিটার ব্যবহার করে ল্যাসো অনুমানের পক্ষপাতটিকে নিয়ন্ত্রণ করে এমন অভিযোজিত লাসো-এর মতো অনুমানের দ্বিতীয় স্তরের ব্যবহারের পরামর্শ দেয়। এটি উপরে বর্ণিত শর্ত ছাড়াই ধারাবাহিক নির্বাচন (বা ওরাকল সম্পত্তি) বাড়ে।

আপনি অভিযোজিত লাসো জন্য গ্ল্যামনেট ব্যবহার করতে পারেন। ওজনের গণনা করার জন্য প্রথমে আপনার প্রাথমিক প্রাক্কলন প্রয়োজন, কমপক্ষে স্কোয়ার, রিজ বা এমনকি লাসো অনুমান need তারপরে আপনি এক্স ম্যাট্রিক্সকে স্কেল করে অভিযোজিত লাসো বাস্তবায়ন করতে পারেন। প্রশিক্ষণের ডেটাতে সর্বনিম্ন স্কোয়ার প্রাথমিক অনুমান ব্যবহার করে এখানে একটি উদাহরণ দেওয়া হয়েছে:

# get data
y <- train[, 11]
x <- train[, -11]
x <- as.matrix(x)
n <- nrow(x)

# standardize data
ymean <- mean(y)
y <- y-mean(y)  
xmean <- colMeans(x)
xnorm <- sqrt(n-1)*apply(x,2,sd)
x <- scale(x, center = xmean, scale = xnorm)

# fit ols 
lm.fit <- lm(y ~ x)
beta.init <- coef(lm.fit)[-1] # exclude 0 intercept

# calculate weights
w  <- abs(beta.init)  
x2 <- scale(x, center=FALSE, scale=1/w)  

# fit adaptive lasso
require(glmnet)
lasso.fit <- cv.glmnet(x2, y, family = "gaussian", alpha = 1, standardize = FALSE, nfolds = 10)
beta <- predict(lasso.fit, x2, type="coefficients", s="lambda.min")[-1]

# calculate estimates
beta <- beta * w / xnorm # back to original scale
beta <- matrix(beta, nrow=1)
xmean <- matrix(xmean, nrow=10)
b0 <- apply(beta, 1, function(a) ymean - a %*% xmean) # intercept
coef <- cbind(b0, beta)
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.