আমি কীভাবে এল 1 ক্ষতি ফাংশনটি ব্যবহার করে আর (লজিস্টিক?) রিগ্রেশনকে প্রশিক্ষণ দেব?


11

আমি Rব্যবহারে একটি লজিস্টিক রিগ্রেশন প্রশিক্ষণ দিতে পারি

glm(y ~ x, family=binomial(logit)))

কিন্তু, আইআইইউসি, এটি লগ সম্ভাবনার জন্য অনুকূল করে।

রৈখিক ( ) ক্ষতির ফাংশন (যা এক্ষেত্রে মোট ভিন্নতার দূরত্বের সমান) ব্যবহার করে মডেলটিকে প্রশিক্ষণের কোনও উপায় আছে ?L1

অর্থাত, দেওয়া একটি সাংখ্যিক ভেক্টর এবং একটি বিট (লজিক্যাল) ভেক্টর , আমি একটি একঘেয়ে গঠন করা (আসলে, বৃদ্ধি) ফাংশন চান যেমন যে \ সমষ্টি | চ (x) এর -y | কমানো হয়y f | f ( x ) - y |xyf|f(x)y|

আরো দেখুন


আপনি যা চান তা বিদ্যমান নেই, এবং ভোঁতা হতে, এটি বেশি অর্থ দেয় না make আমরা বিকল্পগুলি নিয়ে আলোচনা করতে পারি তবে আপনি কী করার চেষ্টা করছেন সে সম্পর্কে আপনাকে আরও ভাল করে বলা দরকার। কেন আপনি এল 1 ক্ষতিতে লজিস্টিক মডেল ফিট করতে চান?
ব্যবহারকারী 60

@ ইউজার 603: কারণ আমি আমার মডেলটি টিভিডি
এসডিএস

আপনি একটি লজিস্টিক ঝুলানো বিষয়ে কথা হবে বলে মনে হচ্ছে বক্ররেখা ডেটাতে বদলে binomially বিতরণ ডেটা ঝুলানো - যে এক ধরনের, অরৈখিক রিগ্রেশন কিন্তু ব্যবহার বদলে আদর্শ। আসলে, লোকসান ফাংশনপরামর্শ দেয় যে সর্বাধিক নয় (যদি এটি হয় তবে এটি দ্বিপাক্ষিক GLM বিভ্রান্তিকর জন্য রেফারেন্স তৈরি করে)। অন্যদিকে, যদি এটা সত্যিই হয় 0-1 করতে বাধ্য, লোকসান ফাংশন অর্থে দেখা যায় না। আপনার প্রকৃত পরিস্থিতির বিবরণ দয়া করে দিতে পারেন? এল 2| f ( x ) - y | 1L1L2|f(x)y|1
গ্লেন_বি

দয়া করে মনে রাখবেন সাহায্যের করতে বলব না ক্রস পোস্টে একাধিক সাইট একই প্রশ্ন, কিন্তু এর পরিবর্তে একটি একক সাইটে চয়ন। আপনি যদি পরে কোন সাইটটি সেরা তা সম্পর্কে আপনার মতামত পরিবর্তন করেন তবে এটি মডারেটরের মনোযোগের জন্য পতাকাঙ্কিত করুন এবং এটিকে সরানোর জন্য বলে।
গ্লেন_বি -রিনস্টেট মনিকা

@ গ্লেন_বি: আমি মনে করি "বিট (যৌক্তিক) ভেক্টর ওয়াই" 0/1 প্রতিক্রিয়া বোঝায়।
এসডিএস

উত্তর:


21

আপনি যা করতে চান তা বিদ্যমান নেই কারণ এটি হ'ল আরও ভাল শব্দের অভাবে, গাণিতিকভাবে ত্রুটিযুক্ত।

তবে প্রথমে, আমি চাপ দেবো কেন আমি কেন আপনার প্রশ্নের প্রাঙ্গনটি সুন্দর বলে মনে করি। তারপরে আমি তাদের ব্যাখ্যা থেকে বোঝাবার চেষ্টা করব কেন আপনি যে সিদ্ধান্তগুলি নিয়ে এসেছেন তা লজিস্টিক মডেলের একটি ভুল বোঝাবুঝির উপর নির্ভর করে এবং অবশেষে, আমি বিকল্প পদ্ধতির পরামর্শ দেব suggest

আমি নির্দেশ করবে আপনারএনপর্যবেক্ষণ (সাহসী বর্ণগুলি ভেক্টর বোঝায়) যাপিমাত্রিক জায়গাতে থাকে ( x এর প্রথম প্রবেশ){(xxi,yi)}i=1nnpপি<এন, ওয়াই আই[0,1]এবং এফ( এক্স ) সহ x আমি 1)xxip<nyi[0,1]এক্স এর একঘেয়ে কাজf(xxi)=f(xxiββ) , মত বলতেলজিস্টিক বক্ররেখাফিক্স ধারণা। যুক্তিযুক্ততা জন্য, আমি শুধু অনুমান করবে এন হয়পর্যাপ্ততুলনায় বৃহৎ পিxxiββnp

আপনি ঠিক বলেছেন যে আপনি যদি লাগানো মডেলটি মূল্যায়ন করার জন্য টিভিডি মানদণ্ড হিসাবে ব্যবহার করতে চান , তবে আপনার ডেটাতে সমস্ত সম্ভাব্য প্রার্থীর মধ্যে একই মানদণ্ডটি অপ্টিমাইজ করার জন্য আপনার ফিটটি আশা করা যুক্তিসঙ্গত। অত: পর

ββ*=ARGসর্বনিম্নββআরপি||YY-(এক্সএক্সআমি'ββ)||1

সমস্যাটি হচ্ছে ত্রুটি শর্ত : এবং যদি আমরা প্রয়োগ করি (আমরা কেবল আমাদের মডেলটি নিরপেক্ষ হতে চাই ), তারপরে, ps অবশ্যই হতে হবে । এর কারণ মাত্র দুটি মূল্যবোধ, 0 এবং নিতে পারেন 1. অতএব, প্রদত্ত , একমাত্র দুটি মানের উপর নিতে পারেন: যখন , যা সম্ভাব্যতা , এবং ঘটে যখন( ϵ )εআমি=Yআমি-(এক্সএক্সআমি'ββ)ϵ i y i x(εε)=0εআমি Yআমিϵ i 1-f( xএক্সএক্সআমিεআমিy i = 1 f ( x1-(এক্সএক্সআমি'ββ)Yআমি=1- ( এক্স(এক্সএক্সআমি'ββ)y i = 1 1 - f ( x)-(এক্সএক্সআমি'ββ)Yআমি=1, যা সম্ভাব্যতা সহ ঘটে ।1-(এক্সএক্সআমি'ββ)

এই বিবেচনাগুলি একসাথে বোঝায় যে:

var(ϵϵ)=E(ϵϵ2)=(1f(xxββ))2f(xxββ)+(f(xxββ))2(1f(xxββ))=(1f(xxββ))f(xxββ)=E(yy|xx)E(1yy|xx)

অতএব ধ্রুবক নয় তবে অবতল প্যারাবোলা আকারযুক্ত এবং যখন এর মতো তখন সর্বাধিক হয় ।var(ϵϵ) E ( y)xxE(y|xx).5

অবশিষ্টাংশের এই সহজাত বিজাতীয় পরিণতির পরিণতি রয়েছে । এটি অন্যান্য জিনিসের মধ্যে বোঝায় যে ক্ষতির ক্রিয়াকলাপটি ন্যূনতম করার সময় আপনি আপনার নমুনার অংশটিকে অতিমাত্রায় করে । অর্থাৎ, লাগানো কেবলমাত্র ডেটা ফিট করে না তবে কেবলমাত্র তার অংশটি এর মতো জায়গাগুলির মধ্যে ক্লাস্টারযুক্ত যেখানে । বুদ্ধিমান হওয়ার জন্য, এগুলি আপনার নমুনার মধ্যে সর্বনিম্ন তথ্যযুক্ত ডেটা পয়েন্ট : এগুলি সেই পর্যবেক্ষণের সাথে মিলে যায় যার জন্য শব্দের উপাদানটি বৃহত্তম। সুতরাং, আপনার ফিট pulled , যেমন তৈরি।l1ββxxE(yy|xx).5ββ*=ββ:(এক্সএক্স'ββ).5

উপরের এক্সপোশন থেকে স্পষ্টভাবে একটি সমাধান হ'ল নিরপেক্ষ-নেসের প্রয়োজনীয়তা বাদ দেওয়া। অনুমানকারীকে পক্ষপাতিত্ব করার একটি জনপ্রিয় উপায় (সংক্ষেপে কিছু বায়েশিয়ান ব্যাখ্যা সংযুক্ত) সংকোচন শব্দটি অন্তর্ভুক্ত করে। যদি আমরা প্রতিক্রিয়াটি আবার স্কেল করি:

Yআমি+ +=2(Yআমি-.5),1আমিএন

এবং, গণনামূলক জন্য, অন্য ফাংশন --it পরিণাম হিসাবে প্যারামিটারের ভেক্টর প্রথম উপাদান বোঝাতে জন্য সুবিধাজনক হতে হবে এবং অবশিষ্ট বেশী এবং (ফর্মের উদাহরণস্বরুপ কোনো সংকোচন শব্দটি অন্তর্ভুক্ত - ), ফলস্বরূপ অপ্টিমাইজেশান সমস্যাটি হয়ে ওঠে:(এক্সএক্স'ββ)সি পি - 1(এক্সএক্স,[,γγ])=এক্সএক্স'[,γγ]পি-1|γγ||γγ||2

[*,γγ*]=ARGসর্বনিম্ন[[,γγ]আরপিΣআমি=1এনসর্বোচ্চ(0,1-Yআমি+ +এক্সএক্সআমি'[[,γγ])+ +12||γγ||2

নোট এই নতুন (এছাড়াও উত্তল) অপ্টিমাইজেশান সমস্যা, একটি সঠিকভাবে শ্রেণীবদ্ধ পর্যবেক্ষণের জন্য শাস্তি 0 এবং এটির সাথে সুসংগত বৃদ্ধি যে একটি মিস-শ্রেণীবদ্ধ এক --as জন্য ক্ষয়। এই দ্বিতীয় অপ্টিমাইজেশান সমস্যার সমাধান সুপ্রসিদ্ধ রৈখিক svm হয় (সঙ্গে নিখুঁত বিচ্ছেদ) কোফিসিয়েন্টস। এর বিপরীতে -টাইপ পেনাল্টির সাথে ডেটা থেকে এই (পক্ষপাতের কারণে 'টাইপ') । ফলস্বরূপ, এই সমাধানটি ব্যাপকভাবে প্রয়োগ করা হয়। উদাহরণস্বরূপ আর প্যাকেজ LiblineaR দেখুনএক্সএক্স'[[,γ]1[*,γγ*]ββ*[*,γγ*]


আমি আশা করি আমি আপনাকে 25 পয়েন্টের বেশি দিতে পারি :-)
এসডিএস

@sds; ধন্যবাদ: এটি একটি দুর্দান্ত প্রশ্ন ছিল :) আমি দিনের বেলা ফিরে আসব এবং বিশদটি পূরণ করব, কিছু টাইপ সংশোধন করব।
ব্যবহারকারী 60

8

আমি নিশ্চিত না কেন আপনি 0 ও 1 এর মধ্যে জড়িত কোনও কিছুর জন্য এল 1 ক্ষতি ব্যবহার করতে চান কেন আপনার লক্ষ্যটি নির্ভর করে আপনি এর পরিবর্তে কব্জাগরণের ক্ষতির মতো কিছু বিবেচনা করতে চাইতে পারেন, যা এক দিক এবং ফ্ল্যাটে L1 ক্ষতির অনুরূপ is অপরপক্ষে.

যাই হোক না কেন, নীচের কোডটি আপনি যা চেয়েছিলেন তা করা উচিত। নোট করুন যে সর্বোত্তম প্রতিক্রিয়াটি মূলত একটি পদক্ষেপ ফাংশন।

set.seed(1)

# Fake data
x = seq(-1, 1, length = 100)
y = rbinom(100, plogis(x), size = 1) # plogis is the logistic function

# L1 loss
loss = function(y, yhat){
  sum(abs(y - yhat))
}

# Function to estimate loss associated with a given slope & intercept
fn = function(par){
  a = par[1]
  b = par[2]
  loss(y = y, yhat = plogis(a + b * x))
}

# Find the optimal parameters
par = optim(
  par = c(a = 0, b = 0),
  fn = fn
)$par

# Plot the results
plot(y ~ x)
curve(plogis(par[1] + par[2] * x), add = TRUE, n = 1000)

0

আপনি এল 1, এল 2 মডেলের ফিটিংয়ের জন্য গ্ল্যামনেট প্যাকেজটি ব্যবহার করতে পারেন। এটি লজিস্টিক রিগ্রেশন সীমাবদ্ধ নয় এটি অন্তর্ভুক্ত করে।

এখানে ভিগনেটটি দেওয়া হয়েছে: http://web.stanford.edu/~hastie/glmnet/glmnet_alpha.html

একটি ওয়েবমিনারও রয়েছে: https://www.youtube.com/watch?v=BU2gjoLPfDc

লিবলাইনার ভাল, তবে আমি সূচনাটি আরও সহজভাবে খুঁজে পেয়েছি। গ্ল্যামনেটে একটি ফাংশন অন্তর্ভুক্ত থাকে যা ক্রস-বৈধকরণ করে এবং আপনার জন্য বিভিন্ন মেট্রিক যেমন এউসির ভিত্তিতে নিয়মিতকরণ পরামিতি নির্বাচন করে।

তত্ত্বের বিষয়ে, আমি লসো (এল 1 নিয়মিতকরণ) এবং স্ট্যাটিস্টিকাল লার্নিংয়ের উপাদানগুলির অধ্যায় সম্পর্কে টিবশারিণী পত্রটি পড়তাম। http://statweb.stanford.edu/~tibs/lasso/lasso.pdf

লগ ক্ষতি সম্পর্কে, এটি কেবলমাত্র মডেলগুলি মূল্যায়ন করার জন্য। এটি মডেল ফিটিংয়ের জন্য কোনও ক্ষতির ফাংশন নয়।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.