শ্রেণি ভারসাম্যহীন সমস্যার মূল কারণ কী?


30

আমি ইদানীং মেশিনে / পরিসংখ্যানগত শিক্ষায় "শ্রেণির ভারসাম্যহীন সমস্যা" সম্পর্কে অনেক চিন্তাভাবনা করেছি এবং এমন অনুভূতিতে আরও গভীরতর হয়ে যাচ্ছি যে আমি কী বুঝতে পারছি তা ঠিক বুঝতে পারছি না।

প্রথমে আমার শর্তাদি সংজ্ঞায়িত করতে (বা চেষ্টা করার চেষ্টা করুন):

বর্গ ভারসাম্যহীনতা সমস্যা মেশিন / পরিসংখ্যানগত লার্নিং পর্যবেক্ষণ যে কিছু বাইনারি শ্রেণীবিন্যাস (*) আলগোরিদিম ভালো না তখন 1 ক্লাস 0 ক্লাস অনুপাত অতিমাত্রায় ঝুঁকে হয়।

সুতরাং, উপরোক্ত ক্ষেত্রে, উদাহরণস্বরূপ, যদি প্রতি একক 1 শ্রেণির জন্য একশত 0 শ্রেণি থাকত তবে আমি বলব যে শ্রেণীর ভারসাম্যহীনতা 1 থেকে 100 বা 1 %111001%

আমি যে সমস্যার মুখোমুখি হয়েছি তার বেশিরভাগ বক্তব্যেরই অভাব রয়েছে যে আমি পর্যাপ্ত যোগ্যতা হিসাবে বিবেচনা করব (কোন মডেলগুলি লড়াই করে, কীভাবে ভারসাম্যহীন একটি সমস্যা) এবং এটি আমার বিভ্রান্তির একটি উত্স।

মেশিন / স্ট্যাটিস্টিকাল লার্নিংয়ের স্ট্যান্ডার্ড পাঠ্যগুলির একটি সমীক্ষায় সামান্য পরিমাণে পরিবর্তন ঘটে:

  • পরিসংখ্যানগত ঝোঁকের উপাদানসমূহ এবং পরিসংখ্যান শিক্ষার পরিচিতির সূচকে "শ্রেণির ভারসাম্যহীনতা" থাকে না।
  • ভবিষ্যদ্বাণীপূর্ণ ডেটা অ্যানালিটিক্সের জন্য মেশিন লার্নিংয়েও সূচীতে "শ্রেণির ভারসাম্যহীনতা" থাকে না।

  • মারফির মেশিন লার্নিং: একটি সম্ভাব্য দৃষ্টিভঙ্গি সূচকে "শ্রেণির ভারসাম্যহীনতা" রাখে । রেফারেন্সটি এসভিএম-এর একটি বিভাগের, যেখানে আমি নীচের কলহের মন্তব্যটি পেয়েছি:

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

এই মন্তব্যটি আমার অন্তর্দৃষ্টি এবং অভিজ্ঞতার সাথে জাগ্রত করে: আমার আগের চাকরিতে আমরা নিয়মিতভাবে লজিস্টিক রিগ্রেশন এবং গ্রেডিয়েন্ট বুস্টেড ট্রি মডেলগুলিকে (দ্বিপদী লগ-সম্ভাবনা হ্রাস করতে) ভারসাম্যহীন ডেটাতে ( 1% শ্রেণির ভারসাম্যহীনতার আদেশে ) ফিট করব, কোনটি ছাড়াই কর্মক্ষমতা সুস্পষ্ট বিষয়।

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

সুতরাং, মোড়ানোর জন্য, আমি আসলে কী পরে সেই শক্তিগুলির একটি ধারণাগত বোঝা যা বর্গ ভারসাম্যহীন সমস্যার দিকে পরিচালিত করে (যদি তা বিদ্যমান থাকে)।

  • এটি কি আমরা খারাপভাবে বাছাই করা অ্যালগরিদম এবং অলস ডিফল্ট শ্রেণিবিন্যাসের থ্রেশহোল্ডগুলি দিয়ে নিজের সাথে কিছু করি?
  • যদি আমরা সর্বদা সম্ভাব্যতার মডেলগুলিতে ফিট করি যা সঠিক স্কোরিংয়ের মানদণ্ডকে অনুকূল করে তোলে তবে তা কি অদৃশ্য হয়ে যায়? ভিন্নভাবে বলেছিলেন, ক্ষতির কার্যকারিতাটি যেমন দুর্বল পছন্দ, তেমনি হার্ড শ্রেণিবদ্ধকরণের নিয়ম এবং সামগ্রিক যথার্থতার ভিত্তিতে কোনও মডেলের ভবিষ্যদ্বাণীপূর্ণ শক্তি মূল্যায়ন করার কারণটি কি কেবল কারণ?
  • যদি তা হয়, তবে এমন মডেলগুলি কি উপযুক্ত স্কোরিং নিয়মগুলি অনুকূল করে না তবে অকেজো (বা কমপক্ষে কম দরকারী)?

(*) শ্রেণিবদ্ধকরণ দ্বারা আমি বাইনারি প্রতিক্রিয়া ডেটা ফিট কোনও পরিসংখ্যান মডেল বলতে চাই। আমি ধরে নিচ্ছি না যে আমার লক্ষ্যটি একটি শ্রেণি বা অন্য শ্রেণীর কাছে একটি কঠিন কাজ, যদিও তা হতে পারে।


1
একটি স্পষ্ট সমস্যা দেখা দিতে পারে যখন শিক্ষার্থী প্রতিটি ক্লাসের ক্ষতিকে সমানভাবে দন্ড দেয়। তাত্ত্বিকভাবে, একই শ্রেণীর সমস্ত কিছু ফিরিয়ে দেওয়া মোট ক্ষয়ক্ষতি হ্রাস করতে পারে।
ফায়ারব্যাগ

1
আমি poor choice of loss functionআমার তালিকায় যুক্ত করতে ভুলে গেছি সুতরাং, আপনি কি ক্ষতির কাজ হিসাবে সঠিক স্কোরিং নিয়মের জন্যও এটি সত্য বলে মনে করেন?
ম্যাথু ড্রুরি

আমি তাই মনে করি. আমি অনুমান করি যে আমরা একটি সমস্যা তৈরি করতে পারি যেখানে বড় শ্রেণীর ক্ষয়ক্ষতি কেবলমাত্র পুরো সমস্যাটির ক্ষয়কেই হ্রাস করে, যখন সাধারণভাবে সংখ্যালঘু শ্রেণি আরও বেশি আগ্রহী।
ফায়ারব্যাগ

3
আমি প্রশ্নের সংবেদন সাথে একমত। আমার একটি অনুমানের কাজ হয়েছে (যদিও তা প্রত্যাখ্যান করে খুশি) যে প্রতি সেবায় কোনও শ্রেণির ভারসাম্যহীন সমস্যা নেই, কেবলমাত্র আমরা ক্ষতির কাজগুলি দিয়ে প্রশিক্ষণ দিই যা পরীক্ষার তথ্যগুলিতে সাফল্য পরিমাপ করতে আমরা কী ব্যবহার করব তা উপস্থাপন করে না। এবং একে একে ভুল বলা শক্ত, কারণ এটি প্রায় আদর্শ অনুশীলন: যেমন এটিউসি বা এফ 1 স্কোরকে সরাসরি অনুকূল করা মানক নয়, তবে এটি শ্রেণীর ভারসাম্যহীন সমস্যার জন্য সাধারণ সাফল্যের মেট্রিক্স। সুতরাং সম্ভবত যে ক্লাস ভারসাম্য সমস্যা?
ডেভিডআর

9
শ্রেণীর ভারসাম্যহীন সমস্যার কারণ হ'ল লোকসানের কার্যকারিতা হিসাবে নির্ভুলতা ব্যবহার করা convention শ্রেণীর ভারসাম্যহীনতা একটি সমস্যা বৈশিষ্ট্যযুক্ত (উদাহরণস্বরূপ বিরল রোগ নির্ণয়কারী), যা বিভিন্ন কৌশল ব্যবহার করে মোকাবেলা করা যেতে পারে। লোকসানের কার্যকারিতা গণনা করার সময় শ্রেণীর আকারের সাথে বিপরীত আনুপাতিক আনুপাতিক ব্যবহার করা তাদের মধ্যে অন্যতম। এটি ব্যতীত, এটিউস হ্রাস ফাংশন হিসাবে এটি একটি ভাল ধারণা, কারণ এটি সত্য-ধনাত্মক এবং মিথ্যা-পজিটিভের মধ্যে বিশেষভাবে পার্থক্য করে। সুতরাং শ্রেণি ভারসাম্যহীন সমস্যার মূল সমস্যা হ'ল লোকসান ফাংশন। দুর্দান্ত প্রশ্ন যদিও আমি উত্তর দেওয়ার সাহস পাই না।
নিকোলাস রিবেল

উত্তর:


4

এনসাইক্লোপিডিয়া অফ মেশিন লার্নিংয়ের একটি এন্ট্রি ( https://cling.csd.uwo.ca/papers/cost_sensitive.pdf ) সাহায্য সহকারে ব্যাখ্যা করে যে "ক্লাস ভারসাম্যহীন সমস্যা" নামকটি আলাদা আলাদা তিনটি সমস্যা হিসাবে বোঝা যায়:

 (1) assuming that an accuracy metric is appropriate when it is not

 (2) assuming that the test distribution matches the training 
     distribution when it does not

 (3) assuming that you have enough minority class data when you do not

লেখক ব্যাখ্যা:

শ্রেণীর ভারসাম্যহীন ডেটাসেটগুলি অনেকগুলি বাস্তব-বিশ্বের অ্যাপ্লিকেশনগুলিতে ঘটে যেখানে ডেটা বর্গ বিতরণ অত্যন্ত ভারসাম্যহীন। আবার সাধারণতার ক্ষতি ছাড়াই আমরা ধরে নিই যে সংখ্যালঘু বা বিরল শ্রেণিটি ইতিবাচক শ্রেণি, এবং সংখ্যাগরিষ্ঠ শ্রেণি হল নেতিবাচক শ্রেণি। প্রায়শই সংখ্যালঘু শ্রেণি খুব ছোট, যেমন ডেটাসেটের 1%। আমরা যদি ডেটাসেটে সর্বাধিক traditionalতিহ্যবাহী (ব্যয়-সংবেদনশীল) শ্রেণিবদ্ধার প্রয়োগ করি তবে তারা সব কিছুকে নেতিবাচক (সংখ্যাগুরু শ্রেণি) হিসাবে পূর্বাভাস দিতে পারে। এটি প্রায়শই অত্যন্ত ভারসাম্যহীন ডেটাসেটগুলি থেকে শেখার সমস্যা হিসাবে বিবেচিত হত।

যাইহোক, (Provost, 2000) দ্বারা নির্দেশিত হিসাবে, দুটি মৌলিক অনুমান প্রায়শই প্রচলিত ব্যয়-সংবেদনশীল শ্রেণিবদ্ধে করা হয় made প্রথমটি হ'ল শ্রেণিবদ্ধের লক্ষ্য হ'ল যথার্থতা বাড়ানো (বা ত্রুটির হারকে হ্রাস করুন); দ্বিতীয়টি হল প্রশিক্ষণ এবং পরীক্ষার ডেটাসেটগুলির শ্রেণিবণ্টন একই the এই দুটি অনুমানের অধীনে, অত্যন্ত ভারসাম্যহীন ডেটাসেটের জন্য সবকিছুকে নেতিবাচক হিসাবে আকাঙ্ক্ষা করা প্রায়শই সঠিক জিনিস। (ড্রামমন্ড এবং হোল্টে, ২০০৫) দেখায় যে এই পরিস্থিতিতে এই সাধারণ শ্রেণিবদ্ধকে ছাপিয়ে ফেলা সহজ হয় না।

সুতরাং, ভারসাম্যহীন শ্রেণির সমস্যাটি কেবল তখনই অর্থবহ হয়ে ওঠে যদি উপরের দুটি অনুমান দুটিই সত্য না হয়; তা হ'ল, যদি বিভিন্ন ধরণের ত্রুটির ব্যয় (বাইনারি শ্রেণীবদ্ধে মিথ্যা ধনাত্মক এবং মিথ্যা নেতিবাচক) থাকে না, বা পরীক্ষার ডেটাগুলিতে শ্রেণিবণ্টন যদি প্রশিক্ষণের ডেটা থেকে আলাদা হয়। প্রথম ক্ষেত্রে কার্যকরভাবে ব্যয়-সংবেদনশীল মেটা-শিক্ষার পদ্ধতি ব্যবহার করে মোকাবেলা করা যেতে পারে।

ক্ষেত্রে যখন ভুল শ্রেণিবদ্ধকরণ ব্যয় সমান হয় না, তখন সংখ্যালঘু শ্রেণীর মধ্যে সংখ্যাগরিষ্ঠ উদাহরণের চেয়ে সংখ্যালঘু (ধনাত্মক) উদাহরণকে সংখ্যাগরিষ্ঠ (নেতিবাচক) শ্রেণিতে ভুলভাবে শ্রেণিবদ্ধ করা সাধারণত বেশি ব্যয়বহুল (অন্যথায় এটি হিসাবে ভবিষ্যদ্বাণী করা আরও যুক্তিযুক্ত যে নেতিবাচক). অর্থাৎ, এফএন> এফপি P সুতরাং, এফএন এবং এফপির মানগুলি বিবেচনা করে, শ্রেণি ভারসাম্যহীন সমস্যা সমাধানের জন্য বিভিন্ন ব্যয়-সংবেদনশীল মেটা-শিক্ষার পদ্ধতিগুলি হতে পারে এবং ব্যবহার করা যেতে পারে (লিঙ্গ এবং লি, 1998; জ্যাপকুইজ এবং স্টিফেন, 2002)। যদি এফএন এবং এফপির মানগুলি স্পষ্টভাবে অজানা থাকে তবে এফএন এবং এফপি পি (-): পি (+) (জ্যাপকোভিজ এবং স্টিফেন, 2002) এর সমানুপাতিক হিসাবে নির্ধারিত হতে পারে।

প্রশিক্ষণ এবং পরীক্ষার ডেটাসেটগুলির শ্রেণিবণ্টনগুলি পৃথক ক্ষেত্রে (উদাহরণস্বরূপ, যদি প্রশিক্ষণের ডেটাটি ভারসাম্যহীন তবে পরীক্ষার ডেটা বেশি ভারসাম্যযুক্ত হয়) তবে প্রশিক্ষণের ডেটা নমুনা করার জন্য একটি স্পষ্ট দৃষ্টিভঙ্গি যেমন শ্রেণীর বিতরণ একই হয় পরীক্ষার ডেটা (সংখ্যালঘু শ্রেণিকে ওভার স্যাম্পলিং করে এবং / অথবা সংখ্যাগরিষ্ঠ শ্রেণীর অধীনে) (Provost, 2000)।

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

সুতরাং, যেমন মারফি বোঝাচ্ছেন, ভারসাম্যহীন শ্রেণি ব্যবহার সম্পর্কে সহজাতভাবে সমস্যাযুক্ত কিছুই নেই, তবে আপনি এই তিনটি ভুল এড়াতে পারেন। যে মডেলগুলি উত্তরীয় সম্ভাবনা দেয় তারা এসভিএমের মতো বৈষম্যমূলক মডেলগুলির চেয়ে ত্রুটি (1) এড়ানো সহজ করে তোলে কারণ তারা আপনাকে সিদ্ধান্ত গ্রহণ থেকে পৃথক দিকনির্দেশনা সক্ষম করে। ( শেষ পয়েন্টটির আরও আলোচনার জন্য বিশপের বিভাগের 1.5.4 অনুচ্ছেদ এবং সিদ্ধান্ত দেখুন ))

আশা করি এইটি কাজ করবে.


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

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

8

ক্ষতির ফাংশনটি হ্রাস করতে অপ্টিমাইজেশনের সাথে যুক্ত যে কোনও কিছুই, যদি যথেষ্ট পরিমাণে উত্তল থাকে, তবে একটি ক্ষতি সমাধানের বিশ্বব্যাপী সর্বনিম্নতম সমাধান দেবে। আমি বলি 'পর্যাপ্ত পরিমাণে উত্তল' যেহেতু গভীর নেটওয়ার্কগুলি পুরো উত্তল নয়, তবে শিখার হারের সতর্কতার সাথে পছন্দসই পছন্দ সহ, অনুশীলনে যুক্তিসঙ্গত ন্যূনতম দিন etc.

অতএব, এই জাতীয় মডেলগুলির আচরণটি আমরা ক্ষতির ক্রিয়াকলাপে যা কিছু রেখেছি তার দ্বারা সংজ্ঞায়িত করা হয়।

F

yf=f(x)

FGbFFbG

yg={Bif f(x)>bAotherwise

bG

FGG

এখন, ধরা যাক আমাদের একটি ক্ষতির ফাংশন রয়েছে যা:

L=1Nn=1NIyig(xi)

Ic1c0yiig(xi)i

990.9=89.1990.1=9.910.9=0.910.1=0.1

L=(9.9+0.1)/100=0.1

G1/100

L=0.01

প্রান্তিকর স্থাপনের সময় ক্ষতির চেয়ে দশগুণ কম যেমন প্রতিটি শ্রেণীর জন্য সমান স্মরণ এবং যথার্থতা নির্ধারণ করা।

GG

G

বিকল্পভাবে, আমরা প্রতি বি উদাহরণকে 99 বার ক্লোন করে ডেটাসেটটি সংশোধন করতে পারি, যার ফলে লোকসানের কার্যকারিতাটি আমাদের পূর্ববর্তী আদর্শ প্রান্তিকের চেয়ে পৃথক অবস্থানে আর ন্যূনতম থাকতে পারে না।


4
আপনি কি জিজ্ঞাসা করা প্রশ্নগুলির জন্য আপনার উত্তরটি আরও কিছুটা বিশেষ করে দেওয়ার চেষ্টা করতে পারেন? পরিষ্কারভাবে চিন্তাশীল থাকাকালীন এটি বেশিরভাগ মন্তব্যের পরিবর্তে উত্তর হিসাবে পড়ে। উদাহরণস্বরূপ, কেবলমাত্র ভাষ্য উদ্দেশ্যে কেউ যুক্তি দিতে পারে যে ক্ষতি হিসাবে ফাংশন সংজ্ঞায়িত করার মতো একটি ভুল স্কোরিং নিয়ম ব্যবহার করা মূলত ভুল এবং সুতরাং পরবর্তী বিশ্লেষণটি অবৈধ।
usεr11852 বলেছেন মনিক

G

2
FPTPk

FFGFFG

3
এটি স্পষ্টতই অনুমান করে যে (1) আমরা যে কেপিআইকে সর্বাধিক করার চেষ্টা করি তা হ'ল যথার্থতা এবং (2) যে শ্রেণিবদ্ধকরণের মডেল মূল্যায়নের জন্য নির্ভুলতা উপযুক্ত কেপিআই। এটা না।
এস। কোলাসা - মনিকা

0

নোট করুন যে এক-শ্রেণীর শ্রেণিবদ্ধদের ভারসাম্যহীন সমস্যা নেই কারণ তারা প্রতিটি শ্রেণীর থেকে অন্য শ্রেণীর থেকে স্বতন্ত্রভাবে তাকান এবং তারা কেবলমাত্র মডেল না করে "শ্রেণি নন" শ্রেণির সাথে লড়াই করতে পারেন। (অবশ্যই তাদের খুব ছোট নমুনার আকার নিয়ে সমস্যা হতে পারে)।

এক শ্রেণীর শ্রেণিবদ্ধদের দ্বারা যথাযথভাবে মডেল হওয়া অনেকগুলি সমস্যা দ্বি-সংজ্ঞাযুক্ত মডেলগুলির দিকে পরিচালিত করে যখন ডিক্রিমিনেটিভ পদ্ধতির ব্যবহার করা হয়, যার মধ্যে "শ্রেণির ভারসাম্যহীন সমস্যা" একটি লক্ষণ।

উদাহরণস্বরূপ, এমন কিছু পণ্য বিবেচনা করুন যা বিক্রি করা ভাল কি না ভাল। এই ধরনের পরিস্থিতি সাধারণত বৈশিষ্ট্যযুক্ত

class         | "good"                        | "not good"
--------------+-------------------------------+------------------------------------------
sample size   | large                         | small
              |                               |
feature space | single, well-delimited region | many possibilities of *something* wrong 
              |                               | (possibly well-defined sub-groups of
              |                               |    particular fault reasons/mechanisms) 
              |                               | => not a well defined region, 
              |                               | spread over large parts of feature space
              |                               |
future cases  | can be expected to end up     | may show up *anywhere* 
              | inside modeled region         | (except in good region)

সুতরাং, ক্লাস "ভাল" ভাল সংজ্ঞায়িত হয় যখন শ্রেণি "ভাল না" খারাপ সংজ্ঞায়িত হয়। যদি এ জাতীয় পরিস্থিতিটি বৈষম্যমূলক শ্রেণীবদ্ধকারী দ্বারা মডেল করা হয় তবে আমাদের দ্বিগুণ "ভারসাম্যহীন সমস্যা" রয়েছে: কেবল "ভাল নয়" শ্রেণীর ছোট ছোট নমুনার আকারও নয়, এর চেয়ে কম নমুনার ঘনত্বও রয়েছে (কম নমুনা একটিতে ছড়িয়ে পড়েছে) বৈশিষ্ট্য স্পেসের বৃহত অংশ)।

এই ধরণের "শ্রেণির ভারসাম্যহীন সমস্যা" অদৃশ্য হয়ে যাবে যখন কার্যটিকে সংজ্ঞায়িত "ভাল" শ্রেণির এক শ্রেণির স্বীকৃতি হিসাবে দেখানো হবে।

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