LIME: คำอธิบายเฉพาะที่ที่ตีความได้
lime.tabular.LimeTabularExplainer การรบกวนข้อมูลนำเข้า และการประมาณเชิงเส้นเฉพาะที่
LIME: คำอธิบายเฉพาะที่ที่ตีความได้ เป็นบทเรียน Learn AI with Python ฟรีบน CoddyKit นี่คือบทเรียนที่ 3 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Learn AI with Python และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Learn AI with Python มีบทเรียนทั้งหมด 4 บทเรียน
LIME คืออะไร
LIME (คำอธิบายเฉพาะที่ตีความได้และไม่ขึ้นกับโมเดล) อธิบายการทำนายหนึ่งรายการโดยฝึกโมเดลที่เรียบง่ายและตีความได้ เช่น การถดถอยเชิงเส้น เพื่อเลียนแบบพฤติกรรมของโมเดลที่ซับซ้อนในบริเวณเล็ก ๆ รอบอินสแตนซ์นั้น
เฉพาะที่ ไม่ใช่ภาพรวม
โมเดลกล่องดำอาจไม่เป็นเชิงเส้นอย่างมากเมื่อมองโดยรวม แต่ใกล้กับจุดหนึ่ง โมเดลอาจใกล้เคียงกับเส้นตรง LIME ใช้ประโยชน์จากข้อเท็จจริงนี้ โดยไม่ได้อธิบายโมเดลทั้งหมด แต่จะอธิบายเฉพาะพฤติกรรมเฉพาะที่รอบอินสแตนซ์ที่คุณสนใจ
LIME ทำงานอย่างไร
LIME จะปรับเปลี่ยนอินสแตนซ์เพื่อสร้างตัวอย่างจำนวนมากที่อยู่ใกล้เคียง ขอให้โมเดลกล่องดำกำหนดป้ายกำกับให้ตัวอย่างเหล่านั้น ให้น้ำหนักตัวอย่างตามความใกล้กับต้นฉบับ จากนั้นจึงฝึกโมเดลตัวแทนที่ตีความได้ ค่าสัมประสิทธิ์ของโมเดลตัวแทนจะกลายเป็นคำอธิบาย
ไม่ขึ้นกับโมเดล
เนื่องจาก LIME เรียกใช้เพียงฟังก์ชันทำนายของโมเดล จึงทำงานได้กับตัวจำแนกประเภทหรือตัวถดถอยใด ๆ ไม่ว่าจะเป็นโครงข่ายประสาท การเพิ่มพูนแบบเกรเดียนต์ หรือแม้แต่ส่วนเชื่อมต่อโปรแกรมประยุกต์ภายนอก LIME มองโมเดลเป็นกล่องดำ
LimeTabularExplainer
สำหรับข้อมูลแบบตาราง คุณสร้าง LimeTabularExplainer จากข้อมูลฝึกสอนและชื่อคุณลักษณะ เครื่องมือนี้ใช้การกระจายของข้อมูลฝึกสอนเพื่อสร้างการปรับเปลี่ยนที่สมจริง
from lime.lime_tabular import LimeTabularExplainer
explainer = LimeTabularExplainer(
training_data=X_train.values,
feature_names=X_train.columns.tolist(),
class_names=["denied", "approved"],
mode="classification",
)explain_instance
หากต้องการอธิบายแถวหนึ่งรายการ ให้เรียกใช้ explain_instance พร้อมกับแถวนั้นและฟังก์ชัน predict_proba ของโมเดล LIME จะปรับเปลี่ยนข้อมูลรอบแถวนั้นแล้วฝึกโมเดลตัวแทนเฉพาะที่
exp = explainer.explain_instance(
data_row=X_test.values[0],
predict_fn=model.predict_proba,
num_features=5,
)predict_proba ไม่ใช่การทำนายผล
LIME สำหรับการจำแนกประเภทต้องใช้ความน่าจะเป็น ไม่ใช่ป้ายกำกับแบบตายตัว เพราะโมเดลตัวแทนจะทำการถดถอยบนพื้นผิวความน่าจะเป็น ให้ส่ง model.predict_proba เสมอ (หรือฟังก์ชันใด ๆ ที่คืนค่าความน่าจะเป็นของแต่ละประเภท)
พารามิเตอร์ num_features
num_featuresจำกัดจำนวนคุณลักษณะที่จะแสดงในคำอธิบาย จำนวนที่น้อยลงจะให้คำอธิบายที่เรียบง่ายและเข้าใจได้ง่ายขึ้น โดยเน้นเฉพาะปัจจัยขับเคลื่อนที่สำคัญที่สุดในบริเวณนั้น
การอ่านค่าน้ำหนักคุณลักษณะ
exp.as_list()คืนค่าคำอธิบายในรูปคู่ (เงื่อนไขของคุณลักษณะ, น้ำหนัก) น้ำหนักที่เป็นบวกจะผลักการทำนายไปยังประเภทที่ทำนายไว้ ส่วนน้ำหนักที่เป็นลบจะผลักออกจากประเภทนั้น
for feature, weight in exp.as_list():
print(feature, round(weight, 3))
# income > 50000 0.21
# debt_ratio > 0.4 -0.18การแสดงภาพคำอธิบาย
LIME สามารถแสดงคำอธิบายเป็นแผนภูมิแบบโต้ตอบหรือมุมมองสมุดบันทึก โดยแสดงแท่งส่วนสนับสนุนและค่าความน่าจะเป็นที่ทำนายไว้เคียงข้างกัน
exp.show_in_notebook(show_table=True)
# or
fig = exp.as_pyplot_figure()LIME กับ SHAP
ทั้งสองวิธีอธิบายการทำนายรายบุคคลได้ แต่มีความแตกต่างกัน:
- SHAPมีหลักประกันทางทฤษฎีที่แข็งแกร่ง (การบวกและความสอดคล้องกัน) และมีมุมมองในภาพรวม
- LIMEทำความเข้าใจได้รวดเร็วกว่า ไม่ขึ้นกับโมเดล และเข้าใจง่าย แต่โมเดลตัวแทนเฉพาะที่เป็นเพียงการประมาณ ซึ่งอาจเปลี่ยนแปลงตามความสุ่มของการปรับเปลี่ยนข้อมูล
ตรวจสอบความเข้าใจ
ทดสอบความรู้เกี่ยวกับ LIME ของคุณ
ทบทวน
คุณได้เรียนรู้การอธิบายเฉพาะที่ด้วย LIME:
- LimeTabularExplainerสร้างจากข้อมูลฝึกสอนและชื่อคุณลักษณะ
explain_instanceใช้model.predict_probaเพื่อฝึกโมเดลตัวแทนเฉพาะที่- จำนวนคุณลักษณะควบคุมขนาดของคำอธิบาย
as_list()คืนค่าน้ำหนักคุณลักษณะที่มีเครื่องหมายบวกหรือลบ- LIME ไม่ขึ้นกับโมเดลและทำงานเฉพาะที่ จึงช่วยเสริม SHAP
คำถามที่พบบ่อย
บทเรียน “LIME: คำอธิบายเฉพาะที่ที่ตีความได้” ฟรีหรือไม่
ใช่ — ข้อความเต็มของ “LIME: คำอธิบายเฉพาะที่ที่ตีความได้” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Learn AI with Python ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Learn AI with Python มีบทเรียนทั้งหมด 4 บทเรียน
คุณจะเรียนรู้อะไรในบทเรียน “LIME: คำอธิบายเฉพาะที่ที่ตีความได้”
lime.tabular.LimeTabularExplainer การรบกวนข้อมูลนำเข้า และการประมาณเชิงเส้นเฉพาะที่ คุณปฏิบัติ Learn AI with Python ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน
คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Learn AI with Python หรือไม่
ไม่จำเป็นต้องมีประสบการณ์มาก่อน Learn AI with Python บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 3 จากทั้งหมด 4 บทเรียน
บทเรียน “LIME: คำอธิบายเฉพาะที่ที่ตีความได้” ใช้เวลานานแค่ไหน
บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย
ฉันเขียนและรันโค้ดในบทเรียน Learn AI with Python นี้ได้ไหม
ได้ บทเรียน Learn AI with Python ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- การตรวจจับอคติในโมเดลแมชชีนเลิร์นนิง
- ค่า SHAP สำหรับการอธิบายแบบจำลอง
- LIME: คำอธิบายเฉพาะที่ที่ตีความได้
- กรอบจริยธรรมและธรรมาภิบาลด้านปัญญาประดิษฐ์