สาเหตุที่แท้จริงของปัญหาความไม่สมดุลของชนชั้นคืออะไร?


30

ฉันได้คิดมากเกี่ยวกับ "ปัญหาความไม่สมดุลในชั้นเรียน" ในการเรียนรู้ของเครื่องจักร / สถิติเมื่อเร็ว ๆ นี้และฉันรู้สึกลึกลงไปในความรู้สึกที่ฉันไม่เข้าใจว่าเกิดอะไรขึ้น

ก่อนอื่นให้ฉันกำหนด (หรือพยายาม) กำหนดคำของฉัน:

ปัญหาระดับความไม่สมดุลในเครื่อง / การเรียนรู้ทางสถิติคือการสังเกตว่าบางจำแนกไบนารี (*) ขั้นตอนวิธีการทำงานได้ไม่ดีเมื่อสัดส่วนของ 0 เรียน 1 ชั้นเรียนเป็นเบ้มาก

ดังนั้นในข้างต้นตัวอย่างเช่นถ้ามีหนึ่งร้อย0ชั้นเรียนสำหรับทุกเดียว1ชั้นผมจะบอกว่าความไม่สมดุลของระดับคือ1ที่จะ100หรือ1% %

งบส่วนใหญ่ของปัญหาที่ฉันได้เห็นขาดสิ่งที่ฉันคิดว่าเป็นคุณสมบัติที่เพียงพอ (สิ่งที่รูปแบบการต่อสู้ปัญหาไม่สมดุลคือปัญหา) และนี่คือแหล่งที่มาของความสับสนของฉัน

การสำรวจข้อความมาตรฐานในการเรียนรู้ของเครื่อง / สถิติกลับมีน้อย:

  • องค์ประกอบของสถิติเอนและรู้เบื้องต้นเกี่ยวกับการเรียนรู้ทางสถิติไม่ได้มี "ชั้นไม่สมดุล" ในดัชนี
  • การเรียนรู้ของเครื่องสำหรับ Predictive Data Analyticsยังไม่มี "คลาสที่ไม่สมดุล" ในดัชนี

  • เมอร์ฟี่เครื่องเรียนรู้: การน่าจะเป็นมุมมองที่ ไม่มี "ระดับความไม่สมดุล * ในดัชนีอ้างอิงไปยังส่วนบนของ SVM ที่ผมพบว่าความคิดเห็นยั่วเย้าดังต่อไปนี้.

    มันเป็นเรื่องที่ควรค่าแก่การจดจำว่าปัญหาทั้งหมดเหล่านี้และการวิเคราะห์พฤติกรรมที่ได้รับการเสนอเพื่อแก้ไขปัญหาเหล่านี้เกิดขึ้นโดยพื้นฐานเพราะ SVM ไม่ได้สร้างแบบจำลองความไม่แน่นอนในการใช้ความน่าจะเป็นดังนั้นคะแนนเอาท์พุท

ความคิดเห็นนี้ไม่พูดที่หลอกลวงกับสัญชาตญาณและประสบการณ์ของฉัน: ที่งานก่อนหน้าของฉันเราเป็นประจำจะพอดีกับการถดถอยโลจิสติกและการไล่ระดับสีได้แรงหนุนรุ่นต้นไม้ (เพื่อลดทวินามบันทึก-โอกาส) ข้อมูลที่ไม่สมดุล (ในลำดับที่1%ความไม่สมดุลของระดับ) ไม่มี ปัญหาที่ชัดเจนในประสิทธิภาพ

ฉันได้อ่าน (บางแห่ง) ว่าการจำแนกต้นไม้ตามตัวแบบ (ต้นไม้เองและป่าสุ่ม) ยังประสบปัญหาความไม่สมดุลในชั้นเรียนด้วย สิ่งนี้ทำให้น้ำขุ่นมัวไปเล็กน้อยต้นไม้กลับมาด้วยความน่าจะเป็น: บันทึกการลงคะแนนสำหรับกลุ่มเป้าหมายในแต่ละขั้วของต้นไม้

ดังนั้นเพื่อสรุปสิ่งที่ฉันตามมาจริงๆคือความเข้าใจในแนวคิดของกองกำลังที่นำไปสู่ปัญหาความไม่สมดุลในชั้นเรียน (ถ้ามี)

  • มันเป็นสิ่งที่เราทำเพื่อตัวเราเองด้วยอัลกอริทึมที่เลือกไม่ดีและเกณฑ์การจัดหมวดหมู่เริ่มต้นขี้เกียจ?
  • มันจะหายไปหรือไม่ถ้าเราเหมาะสมกับตัวแบบความน่าจะเป็นที่จะทำให้เกณฑ์การให้คะแนนเหมาะสมที่สุด? สิ่งที่กล่าวมาแตกต่างกันเป็นสาเหตุของการเลือกฟังก์ชั่นการสูญเสียที่ไม่ดีเช่นการประเมินพลังการทำนายของแบบจำลองตามกฎการจำแนกประเภทอย่างหนักและความแม่นยำโดยรวมหรือไม่?
  • ถ้าเป็นเช่นนั้นโมเดลที่ไม่เพิ่มประสิทธิภาพกฎการให้คะแนนที่เหมาะสมนั้นไร้ประโยชน์ (หรืออย่างน้อยก็มีประโยชน์น้อยกว่า)?

(*) โดยการจัดหมวดหมู่ฉันหมายถึงรูปแบบทางสถิติใด ๆ ที่เหมาะสมกับข้อมูลการตอบสนองแบบไบนารี ฉันไม่ได้สมมติว่าเป้าหมายของฉันเป็นการมอบหมายอย่างหนักให้กับชั้นเรียนหนึ่งหรือชั้นเรียนอื่นแม้ว่ามันอาจจะเป็น


1
ปัญหาที่ชัดเจนอาจเกิดขึ้นเมื่อผู้เรียนลงโทษการสูญเสียแต่ละคลาสเหมือนกัน การส่งคืนทุกสิ่งที่คลาสเดียวกันทำได้ในทางทฤษฎีลดการสูญเสียทั้งหมด
Firebug

1
ฉันลืมที่จะเพิ่มpoor choice of loss functionในรายการของฉัน ดังนั้นคุณคิดว่าสิ่งนี้เป็นจริงแม้สำหรับกฎการให้คะแนนที่เหมาะสมในฐานะฟังก์ชันการสูญเสีย
Matthew Drury

ฉันคิดอย่างนั้น ฉันเดาว่าเราสามารถกำหนดปัญหาที่การลดความสูญเสียของชั้นเรียนที่ใหญ่กว่าเพียง แต่ลดการสูญเสียของปัญหาทั้งหมดด้วยเช่นกันในขณะที่โดยทั่วไปชนชั้นของชนกลุ่มน้อยมีความสนใจมากขึ้น
Firebug

3
ฉันเห็นด้วยกับความรู้สึกของคำถาม ฉันมีสมมุติฐานการทำงาน (แม้ว่ายินดีที่จะปฏิเสธ) ว่าไม่มีปัญหาความไม่สมดุลในชั้นเรียนเพียงว่าเราฝึกด้วยฟังก์ชันการสูญเสียที่ไม่ได้แสดงถึงสิ่งที่เราจะใช้เพื่อวัดความสำเร็จในข้อมูลการทดสอบ และมันก็ยากที่จะเรียกสิ่งนี้ว่าเป็นความผิดพลาดเนื่องจากมันเกือบจะเป็นแบบฝึกหัดมาตรฐาน: ไม่ใช่มาตรฐานในการเพิ่มประสิทธิภาพ AUC หรือ F1 ให้ได้คะแนนโดยตรง บางทีนั่นอาจเป็นปัญหาความไม่สมดุลในชั้นเรียน?
DavidR

9
สาเหตุของปัญหาความไม่สมดุลของคลาสคือการประชุมเพื่อใช้ความแม่นยำเป็นฟังก์ชันการสูญเสีย ความไม่สมดุลของคลาสเป็นลักษณะของปัญหา (เช่นการวินิจฉัยโรคที่หายาก) ซึ่งสามารถจัดการกับการใช้กลยุทธ์หลายอย่าง การใช้คลาสน้ำหนักผกผันกับขนาดคลาสเมื่อคำนวณฟังก์ชันการสูญเสียเป็นหนึ่งในนั้น นอกเหนือจากนั้น AUC ในฐานะฟังก์ชันการสูญเสียเป็นความคิดที่ดีเนื่องจากมีความแตกต่างโดยเฉพาะระหว่างจริงบวกและเท็จบวก ดังนั้นประเด็นหลักของปัญหาความไม่สมดุลของคลาสคือฟังก์ชันการสูญเสีย แม้ว่าคำถามที่ดีซึ่งฉันไม่กล้าตอบ
Nikolas Rieble

คำตอบ:


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% ของชุดข้อมูล หากเราใช้ตัวแยกประเภทแบบดั้งเดิม (ไม่คำนึงถึงต้นทุน) ส่วนใหญ่บนชุดข้อมูลพวกเขาจะมีแนวโน้มที่จะทำนายทุกอย่างว่าเป็นลบ (คลาสส่วนใหญ่) สิ่งนี้มักถูกมองว่าเป็นปัญหาในการเรียนรู้จากชุดข้อมูลที่มีความไม่สมดุลสูง

อย่างไรก็ตามตามที่ระบุไว้โดย (Provost, 2000) มักมีการตั้งสมมติฐานพื้นฐานสองข้อในตัวแยกประเภทแบบไม่คำนึงถึงต้นทุนแบบดั้งเดิม ประการแรกคือเป้าหมายของตัวจําแนกประเภทคือการเพิ่มความแม่นยำสูงสุด (หรือลดอัตราความผิดพลาดให้น้อยที่สุด); ที่สองคือการกระจายคลาสของชุดข้อมูลการฝึกอบรมและการทดสอบเหมือนกัน ภายใต้สมมติฐานทั้งสองนี้การคาดการณ์ทุกอย่างว่าเป็นผลลบสำหรับชุดข้อมูลที่มีความไม่สมดุลสูงมักเป็นสิ่งที่ถูกต้อง (Drummond and Holte, 2005) แสดงให้เห็นว่าโดยปกติแล้วมันเป็นเรื่องยากมากที่จะมีประสิทธิภาพสูงกว่าตัวจําแนกอย่างง่าย ๆ

ดังนั้นปัญหาระดับที่ไม่สมดุลจะมีความหมายก็ต่อเมื่อสมมติฐานหนึ่งหรือทั้งสองข้อข้างต้นไม่เป็นความจริง นั่นคือถ้าค่าใช้จ่ายของข้อผิดพลาดประเภทต่าง ๆ (ค่าลบบวกและค่าลบเท็จในการจำแนกไบนารี) ไม่เหมือนกันหรือถ้าการแจกแจงคลาสในข้อมูลทดสอบแตกต่างจากข้อมูลการฝึกอบรม กรณีแรกสามารถจัดการได้อย่างมีประสิทธิภาพโดยใช้วิธีการในการเรียนรู้ meta-learning

ในกรณีที่ค่าใช้จ่ายในการจำแนกประเภทไม่เท่ากันมันมักจะมีราคาแพงกว่าในการจำแนกประเภทชนกลุ่มน้อย (บวก) เข้าสู่ชั้นเรียนส่วนใหญ่ (เชิงลบ) มากกว่าตัวอย่างส่วนใหญ่ในชั้นเรียนชนกลุ่มน้อย ลบ) นั่นคือ FN> FP ดังนั้นเมื่อใช้ค่าของ FN และ FP วิธีการเรียนรู้แบบ meta-learning ที่หลากหลายสามารถนำมาใช้เพื่อแก้ปัญหาความไม่สมดุลในชั้นเรียน (Ling and Li, 1998; Japkowicz and Stephen, 2002) หากไม่ทราบค่าของ FN และ FP อย่างชัดเจนสามารถกำหนด FN และ FP ให้เป็นสัดส่วนกับ p (-): p (+) (Japkowicz และ Stephen, 2002)

ในกรณีที่ชุดข้อมูลการฝึกอบรมและชุดทดสอบแตกต่างกัน (ตัวอย่างเช่นหากข้อมูลการฝึกอบรมมีความไม่สมดุลสูง แต่ข้อมูลทดสอบมีความสมดุลมากกว่า) วิธีการที่ชัดเจนคือการสุ่มตัวอย่างข้อมูลการฝึกอบรมว่าการกระจายคลาสนั้นเหมือนกัน ข้อมูลการทดสอบ (โดยการสุ่มตัวอย่างกลุ่มชนกลุ่มน้อยและ / หรือขีดล่างกลุ่มเสียงส่วนใหญ่) (Provost, 2000)

โปรดทราบว่าบางครั้งจำนวนตัวอย่างของชนกลุ่มน้อยมีน้อยเกินไปที่ตัวแยกประเภทจะเรียนรู้อย่างเพียงพอ นี่เป็นปัญหาของข้อมูลการฝึกอบรมไม่เพียงพอ (เล็ก) แตกต่างจากชุดข้อมูลที่ไม่สมดุล

ดังนั้นตามที่ Murphy บอกไว้ไม่มีอะไรที่เป็นปัญหาโดยเนื้อแท้เกี่ยวกับการใช้คลาสที่ไม่สมดุลหากคุณหลีกเลี่ยงข้อผิดพลาดทั้งสามนี้ แบบจำลองที่ให้ความน่าจะเป็นหลังทำให้ง่ายต่อการหลีกเลี่ยงข้อผิดพลาด (1) มากกว่าแบบแยกแยะเช่น SVM เพราะช่วยให้คุณสามารถแยกข้อสรุปออกจากการตัดสินใจ (ดูหัวข้อ 1.5.4 การอนุมานและการตัดสินใจสำหรับการอภิปรายเพิ่มเติมในประเด็นสุดท้าย)

หวังว่าจะช่วย


1
ฉันจะโพสต์สิ่งที่คล้ายกัน หนึ่งความคิดเห็นเล็ก ๆ - ฉันคิดว่ามันบ้าไปแล้วที่จะเพิ่มคลาสให้ใหญ่ขึ้น นี่เป็นการทิ้งข้อมูลของคุณและแน่นอนจะไม่ให้ผลลัพธ์ที่ดีกว่า ฉันชอบความคิดในการแยกการอนุมานและการจำแนก ส่วนการอนุมานไม่ได้รับผลกระทบจากความไม่สมดุล แต่การตัดสินใจ (การจำแนก) อาจได้รับผลกระทบอย่างมาก
ความน่าจะเป็นทางการที่

@probabilityislogic (และ Bill Vander Lugt): มีปัญหาที่เป็นไปได้อีกอย่างหนึ่งที่ไม่ได้กล่าวถึงในข้อความนั้น: ไม่ว่า Ansatz ที่เลือกปฏิบัตินั้นเพียงพอหรือไม่ การไปหาโมเดลการเลือกปฏิบัติที่ไม่เหมาะสมซึ่งระดับหนึ่งจะเหมาะสมกว่าสามารถนำไปสู่ ​​"ปัญหาความไม่สมดุลของระดับ"
cbeleites รองรับโมนิก้า

8

อะไรก็ตามที่เกี่ยวข้องกับการปรับให้เหมาะสมเพื่อลดฟังก์ชั่นการสูญเสียให้น้อยที่สุดถ้านูนออกมาอย่างเพียงพอให้วิธีแก้ปัญหาที่เป็นระดับต่ำสุดของฟังก์ชั่นการสูญเสียนั้น ฉันพูดว่า 'พอใช้นูน' เนื่องจากเครือข่ายที่ลึกไม่ได้อยู่ในทั้งนูน แต่ให้การปฏิบัติขั้นต่ำที่สมเหตุสมผลพร้อมทางเลือกอย่างระมัดระวังเกี่ยวกับอัตราการเรียนรู้ ฯลฯ

ดังนั้นพฤติกรรมของแบบจำลองดังกล่าวจึงถูกกำหนดโดยสิ่งที่เราใส่ในฟังก์ชั่นการสูญเสีย

F

yf=f(x)

FGbFFbG

yg={Bif f(x)>bAotherwise

bG

FGG

ตอนนี้สมมติว่าเรามีฟังก์ชั่นการสูญเสียซึ่งก็คือ:

L=1Nn=1NIyig(xi)

Ic1c0yiig(xi)i

99* * * *0.9=89.199* * * *0.1=9.91* * * *0.9=0.91* * * *0.1=0.1ตัวอย่างไม่ถูกต้อง การสูญเสียที่คาดหวังจะเป็น:

L=(9.9+0.1)/100=0.1

ตอนนี้ให้ดูที่แบบจำลอง G where the threshold is set such that class A is systematically chosen. Now, for every 99 examples of A, all 99 will be correct. Zero loss. But each example of B will be systematically not chosen, giving a loss of 1/100, so the expected loss over the training set will be:

L=0.01

Ten times lower than the loss when setting the threshold such as to assign equal recall and precision to each class.

Therefore, the loss function will drive model G to choose a threshold which chooses A with higher probability than class B, driving up the recall for class A, but lowering that for class B. The resulting model no longer matches what we might hope, no longer matches our ideal model G.

To correct the model, we'd need to for example modify the loss function such that getting B wrong costs a lot more than getting A wrong. Then this will modify the loss function to have a minimum closer to the earlier ideal model G, which assigned equal precision/recall to each class.

Alternatively, we can modify the dataset by cloning every B example 99 times, which will also cause the loss function to no longer have a minimum at a position different from our earlier ideal threshold.


4
Can you please try to make your answer a bit more particular to the questions being asked? While clearly thoughtful it reads mostly as commentary rather than an answer. For example, just for commentary purposes one could argue that using an improper scoring rule like the loss function defined is fundamentally wrong and therefore the subsequent analysis is invalid.
usεr11852 says Reinstate Monic

I dont think one can say that the loss function is 'right' or 'wrong' without knowing the actual purpose of the model. If the goal is for the machine learning model to 'look cool/useful', then the G model is better, but if it's to maximize eg scoring on some test/exam, where 99 of the questions have answer A, and one has answer B, and we only have a 90% chance of predicting the answer correctly, we're better off just choosing A for everything, and that's what the loss function above does.
Hugh Perkins

2
I generally agree; I am not fully convinced about the proper scoring rule necessity but on the other hand the "actual purpose" of any classification model is the useful prediction of class membership, ie. you need an informed utility function. I would argue that generally for imbalanced problems assigning cost/gain to FP, TP, etc. is probably the best way to have a reasonable utility function; in the absence of relevant domain knowledge this can be hairy. I almost always use as my first choice Cohen's k, a somewhat conservative metric of "agreement", because of that reason.
usεr11852 says Reinstate Monic

I googled for 'utility function', but nothing came up. Do you have a link/reference? I think from the context, what you are calling a 'utility function' is essentially the model F above? Model F is invariant across the various scenarios. One interesting question perhaps is, if one trains model G directly, using unbalanced data, will the underlying, possibly implicit, model F be similar/identical to a model F trained, via training model G, on balanced data?
Hugh Perkins

3
This presumes implicitly (1) that the KPI we attempt to maximize is accuracy, and (2) that accuracy is an appropriate KPI for classification model evaluation. It isn't.
S. Kolassa - Reinstate Monica

0

Note that one-class classifiers don't have an imbalance problem as they look at each class independently from all other classes and they can cope with "not-classes" by just not modeling them. (They may have a problem with too small sample size, of course).

Many problems that would be more appropriately modeled by one-class classifiers lead to ill-defined models when dicriminative approaches are used, of which "class imbalance problems" are one symptom.

As an example, consider some product that can be good to be sold or not. Such a situation is usually characterized by

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)

Thus, class "good" is well-defined while class "not-good" is ill-defined. If such a situation is modeled by a discriminative classifier, we have a two-fold "imbalance problem": not only has the "not-good" class small sample size, it also has even lower sample density (fewer samples spread out over a larger part of the feature space).

This type of "class imbalance problem" will vanish when the task is modeled as one-class recognition of the well-defined "good" class.

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.