อ่าน 20 นาที
ป่าสุ่ม
ป่าสุ่ม หรือ ป่าตัดสินใจแบบสุ่ม เป็น วิธี การเรียนรู้แบบกลุ่ม สำหรับการ จำแนก การถดถอย และงานอื่นๆ ที่ทำงานโดยการสร้าง ต้นไม้ตัดสินใจ จำนวนมากในระหว่างการฝึกอบรม สำหรับงานจำแนก...
ป่าสุ่ม
| ส่วนหนึ่งของชุดบทความเกี่ยวกับ |
| การเรียนรู้ของเครื่องจักรและการขุดข้อมูล |
|---|
ป่าสุ่มหรือป่าตัดสินใจแบบสุ่มเป็น วิธี การเรียนรู้แบบกลุ่มสำหรับการจำแนกการถดถอย และงานอื่นๆ ที่ทำงานโดยการสร้าง ต้นไม้ตัดสินใจจำนวนมากในระหว่างการฝึกอบรม สำหรับงานจำแนก ผลลัพธ์ของป่าสุ่มคือคลาสที่เลือกโดยต้นไม้ส่วนใหญ่ สำหรับงานถดถอย ผลลัพธ์คือค่าเฉลี่ยของการคาดการณ์ของต้นไม้[ 1 ] [ 2 ]ป่าสุ่มแก้ไขนิสัยของต้นไม้ตัดสินใจที่มักจะเกิดการโอเวอร์ฟิตกับชุดข้อมูลการฝึกอบรม [ 3 ] : 587–588
อัลกอริทึมแรกสำหรับป่าตัดสินใจแบบสุ่มถูกสร้างขึ้นในปี 1995 โดยTin Kam Ho [ 1 ]โดยใช้วิธีการพื้นที่ย่อยแบบสุ่ม[ 2 ]ซึ่งในสูตรของ Ho เป็นวิธีหนึ่งในการนำแนวทางการจำแนกแบบสุ่มมาใช้ในการจัดประเภทที่เสนอโดย Eugene Kleinberg [ 4 ] [ 5 ] [ 6 ]
ส่วนขยายของอัลกอริธึมได้รับการพัฒนาโดยLeo Breiman [ 7 ]และAdele Cutler [ 8 ] ซึ่งจดทะเบียน[ 9 ] "Random Forests" เป็นเครื่องหมายการค้าในปี 2006 (ณ ปี 2019 เป็นของMinitab, Inc. ) [ 10 ]ส่วนขยายนี้รวมแนวคิด " bagging " ของ Breiman และการเลือกคุณลักษณะแบบสุ่ม ซึ่งแนะนำครั้งแรกโดย Ho [ 1 ]และต่อมาโดย Amit และGeman [ 11 ] อย่างอิสระ เพื่อสร้างชุดของต้นไม้ตัดสินใจที่มีความแปรปรวนที่ควบคุมได้
ประวัติศาสตร์
วิธีการทั่วไปของป่าตัดสินใจแบบสุ่มได้รับการเสนอครั้งแรกโดย Salzberg และ Heath ในปี 1993 [ 12 ]ด้วยวิธีการที่ใช้อัลกอริทึมต้นไม้ตัดสินใจแบบสุ่มเพื่อสร้างต้นไม้หลายต้นแล้วรวมเข้าด้วยกันโดยใช้การลงคะแนนเสียงข้างมาก แนวคิดนี้ได้รับการพัฒนาเพิ่มเติมโดย Ho ในปี 1995 [ 1 ] Ho ได้พิสูจน์ว่าป่าของต้นไม้ที่แยกด้วยระนาบเฉียงสามารถเพิ่มความแม่นยำได้เมื่อเติบโตขึ้นโดยไม่ได้รับผลกระทบจากการฝึกฝนมากเกินไป ตราบใดที่ป่าถูกจำกัดแบบสุ่มให้มีความไวต่อมิติคุณลักษณะ ที่เลือกไว้เท่านั้น งานวิจัยต่อมาในแนวทางเดียวกัน[ 2 ]สรุปได้ว่าวิธีการแยกอื่นๆ มีพฤติกรรมคล้ายกัน ตราบใดที่ถูกบังคับแบบสุ่มให้ไม่ไวต่อมิติคุณลักษณะบางอย่าง ข้อสังเกตนี้ที่ว่าตัวจำแนกที่ซับซ้อนกว่า (ป่าที่ใหญ่กว่า) จะมีความแม่นยำมากขึ้นเกือบจะเป็นแบบโมโนโทนิกนั้นตรงกันข้ามกับความเชื่อทั่วไปที่ว่าความซับซ้อนของตัวจำแนกสามารถเติบโตได้ถึงระดับความแม่นยำระดับหนึ่งเท่านั้นก่อนที่จะได้รับผลกระทบจากการโอเวอร์ฟิตติ้ง คำอธิบายเกี่ยวกับความต้านทานต่อการฝึกฝนมากเกินไปของวิธีการป่าสามารถพบได้ในทฤษฎีการจำแนกแบบสุ่มของ Kleinberg [ 4 ] [ 5 ] [ 6 ]
การพัฒนาแนวคิดป่าสุ่มของ Breiman ในช่วงแรกได้รับอิทธิพลจากงานของ Amit และ Geman [ 11 ]ซึ่งได้นำเสนอแนวคิดของการค้นหาชุดย่อยแบบสุ่มของการตัดสินใจที่มีอยู่เมื่อแยกโหนด ในบริบทของการสร้างต้นไม้ ต้นเดียว แนวคิดของการเลือกพื้นที่ย่อยแบบสุ่มจาก Ho [ 2 ]ก็มีอิทธิพลต่อการออกแบบป่าสุ่มเช่นกัน วิธีนี้สร้างป่าของต้นไม้ และแนะนำความแปรปรวนระหว่างต้นไม้โดยการฉายข้อมูลการฝึกอบรมลงในพื้นที่ย่อย ที่เลือกแบบสุ่ม ก่อนที่จะปรับต้นไม้แต่ละต้นหรือแต่ละโหนด สุดท้าย แนวคิดของการเพิ่มประสิทธิภาพโหนดแบบสุ่ม ซึ่งการตัดสินใจที่แต่ละโหนดถูกเลือกโดยกระบวนการแบบสุ่ม แทนที่จะเป็นการเพิ่มประสิทธิภาพแบบกำหนด ได้รับการนำเสนอครั้งแรกโดยThomas G. Dietterich [ 13 ]
การแนะนำป่าสุ่มอย่างถูกต้องเกิดขึ้นในบทความของLeo Breiman [ 7 ] ซึ่งกลายเป็นหนึ่งในบทความที่มีการอ้างอิงมากที่สุดในโลก[ 14 ] บทความ นี้อธิบายวิธีการสร้างป่าของต้นไม้ที่ไม่สัมพันธ์กันโดยใช้ ขั้นตอนคล้าย CARTร่วมกับการเพิ่มประสิทธิภาพโหนดแบบสุ่มและการทำ Baggingนอกจากนี้ บทความนี้ยังรวมส่วนประกอบหลายอย่าง ทั้งที่ทราบกันอยู่แล้วและที่เป็นสิ่งใหม่ ซึ่งเป็นพื้นฐานของการปฏิบัติป่าสุ่มในปัจจุบัน โดยเฉพาะอย่างยิ่ง:
- ใช้ค่าความคลาดเคลื่อนนอกกลุ่มตัวอย่าง (out-of-bag error)เป็นตัวประมาณค่าความคลาดเคลื่อนในการวางนัยทั่วไป (generalization error )
- การวัดความสำคัญของตัวแปรผ่านการเรียงสับเปลี่ยน
รายงานฉบับนี้ยังนำเสนอผลลัพธ์เชิงทฤษฎีแรกสำหรับป่าสุ่มในรูปแบบของขอบเขตของข้อผิดพลาดในการวางนัยทั่วไปซึ่งขึ้นอยู่กับความแข็งแกร่งของต้นไม้ในป่าและความสัมพันธ์ระหว่างต้นไม้เหล่า นั้น
อัลกอริทึม
เบื้องต้น: การเรียนรู้แผนผังการตัดสินใจ
ต้นไม้ตัดสินใจเป็นวิธีการที่นิยมใช้สำหรับงานการเรียนรู้ของเครื่องต่างๆ การเรียนรู้แบบต้นไม้เกือบจะเป็น "ขั้นตอนสำเร็จรูปสำหรับการทำเหมืองข้อมูล" ดังที่Hastie และคณะ กล่าวไว้ "เพราะมันไม่เปลี่ยนแปลงภายใต้การปรับขนาดและการแปลงค่าคุณลักษณะต่างๆ มีความทนทานต่อการรวมคุณลักษณะที่ไม่เกี่ยวข้อง และสร้างแบบจำลองที่ตรวจสอบได้ อย่างไรก็ตาม มันมักจะไม่แม่นยำ" [ 3 ] : 352
โดยเฉพาะอย่างยิ่ง ต้นไม้ที่เติบโตลึกมากมักจะเรียนรู้รูปแบบที่ไม่สม่ำเสมออย่างมาก: พวกมันจะโอเวอร์ฟิตกับชุดข้อมูลฝึกฝน กล่าวคือ มีอคติต่ำ แต่มีความแปรปรวนสูงมากป่าสุ่มเป็นวิธีการเฉลี่ยต้นไม้ตัดสินใจเชิงลึกหลายต้น ซึ่งได้รับการฝึกฝนบนส่วนต่างๆ ของชุดข้อมูลฝึกฝนเดียวกัน โดยมีเป้าหมายเพื่อลดความแปรปรวน[ 3 ] : 587–588 ซึ่งมาพร้อมกับข้อเสียคืออคติที่เพิ่มขึ้นเล็กน้อยและความสามารถในการตีความที่ลดลงบ้าง แต่โดยทั่วไปแล้วจะช่วยเพิ่มประสิทธิภาพในแบบจำลองสุดท้ายได้อย่างมาก
การบรรจุ

อัลกอริทึมการฝึกฝนสำหรับ Random Forests ใช้เทคนิคทั่วไปของการรวมแบบบูตสแตรปหรือ Bagging กับตัวเรียนรู้ต้นไม้ โดยกำหนดชุดข้อมูลฝึกฝนX = x 1 , ..., x nที่มีคำตอบY = y 1 , ..., y nการ Bagging ซ้ำๆ ( Bครั้ง) จะเลือกตัวอย่างแบบสุ่มโดยมีการแทนที่จากชุดข้อมูลฝึกฝน และสร้างต้นไม้ให้กับตัวอย่างเหล่านี้:
- เลือกตัวอย่าง ฝึกฝน nตัวอย่างจากXและY โดยให้มีการแทนที่ เรียกตัวอย่างเหล่านี้ว่าX bและY b
- ฝึกต้นไม้จำแนกประเภทหรือต้นไม้ถดถอยf bบนX b , Y b
หลังจากฝึกฝนเสร็จแล้ว สามารถทำนายค่าตัวอย่างที่ไม่เคยเห็นมาก่อนx'ได้โดยการหาค่าเฉลี่ยของการทำนายจากต้นไม้การถดถอยแต่ละต้นบนx' :
หรือโดยการใช้เสียงข้างมากในกรณีของแผนผังจำแนกประเภท
กระบวนการบูตสแตรปนี้ส่งผลให้ประสิทธิภาพของโมเดลดีขึ้น เนื่องจากช่วยลดความแปรปรวนของโมเดลโดยไม่เพิ่มอคติ หมายความว่า ในขณะที่การทำนายของต้นไม้ต้นเดียวมีความไวต่อสัญญาณรบกวนในชุดข้อมูลฝึกฝนสูง แต่ค่าเฉลี่ยของต้นไม้หลายต้นจะไม่เป็นเช่นนั้น ตราบใดที่ต้นไม้เหล่านั้นไม่มีความสัมพันธ์กัน การฝึกฝนต้นไม้หลายต้นบนชุดข้อมูลฝึกฝนชุดเดียวจะทำให้ได้ต้นไม้ที่มีความสัมพันธ์กันอย่างมาก (หรืออาจได้ต้นไม้เดียวกันหลายครั้ง หากอัลกอริธึมการฝึกฝนเป็นแบบกำหนดได้) การสุ่มตัวอย่างแบบบูตสแตรปเป็นวิธีหนึ่งในการลดความสัมพันธ์ระหว่างต้นไม้โดยการแสดงชุดข้อมูลฝึกฝนที่แตกต่างกันให้แก่ต้นไม้เหล่านั้น
นอกจากนี้ ยังสามารถประมาณความไม่แน่นอนของการทำนายได้โดยใช้ค่าเบี่ยงเบนมาตรฐานของการทำนายจากต้นไม้การถดถอยแต่ละต้นบนx′ :
จำนวน ตัวอย่าง B (เทียบเท่ากับจำนวนต้นไม้) เป็นพารามิเตอร์อิสระ โดยทั่วไปจะใช้ต้นไม้จำนวนไม่กี่ร้อยถึงหลายพันต้น ขึ้นอยู่กับขนาดและลักษณะของชุดข้อมูลฝึกฝนสามารถปรับค่าB ให้เหมาะสมที่สุดได้โดยใช้ การตรวจสอบแบบไขว้หรือโดยการสังเกตข้อผิดพลาดนอกถุง : ข้อผิดพลาดในการทำนายเฉลี่ยในแต่ละตัวอย่างฝึกฝนx iโดยใช้เฉพาะต้นไม้ที่ไม่มีx iในตัวอย่างบูตสแตรป[ 15 ]
ข้อผิดพลาดในการฝึกฝนและการทดสอบมีแนวโน้มที่จะคงที่หลังจากที่ได้สร้างแบบจำลองต้นไม้ไปแล้วจำนวนหนึ่ง
จากการจัดกลุ่มข้อมูลไปจนถึงป่าสุ่ม
ขั้นตอนข้างต้นอธิบายอัลกอริทึม bagging ดั้งเดิมสำหรับต้นไม้ ป่าสุ่มยังรวมถึงรูปแบบ bagging อีกประเภทหนึ่งด้วย: พวกมันใช้อัลกอริทึมการเรียนรู้ต้นไม้ที่ดัดแปลงซึ่งเลือกชุดย่อยแบบสุ่มของคุณลักษณะ ในแต่ละการแยกผู้สมัครในกระบวนการเรียนรู้ กระบวนการนี้บางครั้งเรียกว่า "feature bagging" เหตุผลในการทำเช่นนี้คือความสัมพันธ์ของต้นไม้ในตัวอย่างบูตสแตรปทั่วไป: หากคุณลักษณะหนึ่งหรือสองสามคุณลักษณะเป็นตัวทำนายที่แข็งแกร่งมากสำหรับตัวแปรตอบสนอง (เอาต์พุตเป้าหมาย) คุณลักษณะเหล่านี้จะถูกเลือกใน ต้นไม้ B จำนวนมาก ทำให้พวกมันมีความสัมพันธ์กัน การวิเคราะห์ว่า bagging และการฉายภาพพื้นที่ย่อยแบบสุ่มมีส่วนช่วยในการเพิ่มความแม่นยำภายใต้เงื่อนไขต่างๆ อย่างไรนั้นได้มาจาก Ho [ 16 ]
โดยทั่วไป สำหรับปัญหาการจำแนกประเภทที่มีคุณลักษณะ(ปัดลง) จะใช้คุณลักษณะในแต่ละการแบ่ง[ 3 ] : 592 สำหรับปัญหาการถดถอย ผู้คิดค้นแนะนำให้ใช้คุณลักษณะ(ปัดลง) โดยมีขนาดโหนดขั้นต่ำ 5 เป็นค่าเริ่มต้น[ 3 ] : 592 ในทางปฏิบัติ ควรปรับแต่งค่าที่ดีที่สุดสำหรับพารามิเตอร์เหล่านี้ตามแต่ละกรณีไปสำหรับแต่ละปัญหา[ 3 ] : 592
ExtraTrees
การเพิ่มขั้นตอนการสุ่มอีกขั้นหนึ่งจะทำให้ได้ต้นไม้ที่มีการสุ่มอย่างมากหรือ ExtraTrees เช่นเดียวกับป่าสุ่มทั่วไป ต้นไม้เหล่านี้เป็นการรวมกันของต้นไม้แต่ละต้น แต่มีความแตกต่างหลักสองประการคือ (1) ต้นไม้แต่ละต้นได้รับการฝึกฝนโดยใช้ตัวอย่างการเรียนรู้ทั้งหมด (แทนที่จะใช้ตัวอย่างบูตสแตรป) และ (2) การแบ่งจากบนลงล่างจะถูกสุ่ม: สำหรับแต่ละคุณลักษณะที่กำลังพิจารณา จะมีการเลือกจุดตัด แบบสุ่ม จำนวนหนึ่ง แทนที่จะคำนวณ จุดตัด ที่เหมาะสมที่สุด ในระดับท้องถิ่น (โดยพิจารณาจาก เช่นการเพิ่มขึ้นของข้อมูลหรือความไม่บริสุทธิ์ของ Gini ) ค่าต่างๆ จะถูกเลือกจากการกระจายแบบเอกรูปภายในช่วงเชิงประจักษ์ของคุณลักษณะ (ในชุดการฝึกฝนของต้นไม้) จากนั้น จากการแบ่งที่เลือกแบบสุ่มทั้งหมด การแบ่งที่ให้คะแนนสูงสุดจะถูกเลือกเพื่อแบ่งโหนด
เช่นเดียวกับป่าสุ่มทั่วไป จำนวนฟีเจอร์ที่เลือกแบบสุ่มที่จะนำมาพิจารณาในแต่ละโหนดสามารถระบุได้ ค่าเริ่มต้นสำหรับพารามิเตอร์นี้คือสำหรับการจำแนกประเภทและสำหรับการถดถอย โดยที่คือจำนวนฟีเจอร์ในโมเดล[ 17 ]
ป่าสุ่มสำหรับข้อมูลมิติสูง
วิธีการสร้างแบบจำลองป่าสุ่มพื้นฐานอาจใช้ได้ไม่ดีในสถานการณ์ที่มีคุณลักษณะจำนวนมาก แต่มีเพียงส่วนน้อยเท่านั้นที่มีข้อมูลที่เป็นประโยชน์ต่อการจำแนกตัวอย่าง ปัญหานี้สามารถแก้ไขได้โดยการกระตุ้นให้กระบวนการมุ่งเน้นไปที่คุณลักษณะและต้นไม้ที่มีข้อมูลที่เป็นประโยชน์เป็นหลัก วิธีการบางอย่างที่ใช้ในการทำเช่นนี้ ได้แก่:
- การกรองเบื้องต้น: กำจัดคุณสมบัติที่เป็นเพียงสัญญาณรบกวนเป็นส่วนใหญ่[ 18 ] [ 19 ]
- Enriched Random Forest (ERF): ใช้การสุ่มตัวอย่างแบบถ่วงน้ำหนักแทนการสุ่มตัวอย่างแบบง่ายที่แต่ละโหนดของแต่ละต้นไม้ โดยให้น้ำหนักมากขึ้นกับคุณลักษณะที่ดูเหมือนจะมีข้อมูลมากกว่า[ 20 ] [ 21 ] [ 22 ]
- ป่าสุ่มแบบถ่วงน้ำหนักต้นไม้ (TWRF): ให้ความสำคัญกับต้นไม้ที่แม่นยำกว่า[ 23 ] [ 24 ]
คุณสมบัติ
ความสำคัญของตัวแปร
ป่าสุ่มสามารถใช้จัดอันดับความสำคัญของตัวแปรในปัญหาการถดถอยหรือการจำแนกประเภทได้อย่างเป็นธรรมชาติ เทคนิคต่อไปนี้ได้รับการอธิบายไว้ในเอกสารต้นฉบับของ Breiman [ 7 ]และถูกนำไปใช้ในแพ็คเกจR [ 8 ]randomForest
ความสำคัญของการเรียงสับเปลี่ยน
ในการวัดความสำคัญของฟีเจอร์ในชุดข้อมูลขั้นแรกจะทำการฝึกโมเดล Random Forest กับข้อมูลนั้น ในระหว่างการฝึกค่าความคลาดเคลื่อนแบบ Out-of-Bagสำหรับแต่ละจุดข้อมูลจะถูกบันทึกและหาค่าเฉลี่ยตลอดทั้ง Random Forest (หากไม่ได้ใช้ Bagging ในระหว่างการฝึก เราสามารถคำนวณค่าความคลาดเคลื่อนบนชุดข้อมูลทดสอบอิสระแทนได้)
หลังจากฝึกฝนเสร็จแล้ว ค่าของคุณลักษณะจะถูกสลับตำแหน่งในตัวอย่างนอกกลุ่ม (out-of-bag samples) และคำนวณค่าความคลาดเคลื่อนนอกกลุ่มอีกครั้งบนชุดข้อมูลที่ถูกสลับตำแหน่งนี้ ความสำคัญของคุณลักษณะจะถูกคำนวณโดยการหาค่าเฉลี่ยของความแตกต่างในค่าความคลาดเคลื่อนนอกกลุ่มก่อนและหลังการสลับตำแหน่งในทุกต้นไม้ คะแนนจะถูกปรับให้เป็นมาตรฐานโดยใช้ค่าเบี่ยงเบนมาตรฐานของความแตกต่างเหล่านี้
คุณลักษณะที่สร้างค่าสูงสำหรับคะแนนนี้จะถูกจัดอันดับให้มีความสำคัญมากกว่าคุณลักษณะที่สร้างค่าต่ำ คำจำกัดความทางสถิติของการวัดความสำคัญของตัวแปรได้รับการกำหนดและวิเคราะห์โดย Zhu et al. [ 25 ]
วิธีการกำหนดความสำคัญของตัวแปรแบบนี้มีข้อเสียอยู่บ้าง:
- เมื่อคุณลักษณะมีจำนวนค่าที่แตกต่างกัน ป่าสุ่มจะให้ความสำคัญกับคุณลักษณะที่มีค่ามากกว่า วิธีแก้ปัญหานี้ได้แก่การเรียงสับเปลี่ยนบางส่วน[ 26 ] [ 27 ] [ 28 ]และต้นไม้ที่ไม่เอนเอียงที่เติบโต[ 29 ] [ 30 ]
- หากข้อมูลประกอบด้วยกลุ่มคุณลักษณะที่สัมพันธ์กันซึ่งมีความเกี่ยวข้องคล้ายคลึงกัน กลุ่มขนาดเล็กจะได้รับความนิยมมากกว่ากลุ่มขนาดใหญ่[ 31 ]
- หากมีคุณลักษณะที่เรียงตัวกัน ขั้นตอนนี้อาจไม่สามารถระบุคุณลักษณะที่สำคัญได้ วิธีแก้ปัญหาคือการสลับกลุ่มคุณลักษณะที่สัมพันธ์กันเข้าด้วยกัน[ 32 ]
ค่าเฉลี่ยการลดลงของความสำคัญของลักษณะสิ่งเจือปน
แนวทางนี้ในการพิจารณาความสำคัญของฟีเจอร์สำหรับป่าสุ่มจะถือว่าตัวแปรที่ลดความไม่บริสุทธิ์ลงอย่างมากในระหว่างการแบ่งเป็นสิ่งสำคัญ[ 33 ]มีการอธิบายไว้ในหนังสือClassification and Regression Treesโดย Leo Breiman [ 34 ]และเป็นการใช้งานเริ่มต้นในscikit learnR คำจำกัดความคือ: โดยที่
- เป็นคุณสมบัติ
- คือจำนวนต้นไม้ในป่า
- คือต้นไม้
- คือสัดส่วนของตัวอย่างที่ไปถึงโหนด
- คือการเปลี่ยนแปลงของสิ่งเจือปนในต้นไม้ที่โหนด
ในการวัดปริมาณสิ่งเจือปนในตัวอย่างที่อยู่ในโหนดใดโหนดหนึ่ง สามารถใช้สถิติต่อไปนี้ได้:
จากนั้นจึงคำนวณค่าความสำคัญที่ปรับให้เป็นมาตรฐานโดยการปรับค่าความสำคัญของฟีเจอร์ทั้งหมดให้เป็นมาตรฐาน เพื่อให้ผลรวมของค่าความสำคัญของฟีเจอร์ที่ปรับให้เป็นมาตรฐานมีค่าเท่ากับ 1
การscikit learnใช้งานเริ่มต้นอาจรายงานความสำคัญของฟีเจอร์ที่ทำให้เข้าใจผิดได้: [ 32 ]
- มันให้ความสำคัญกับคุณลักษณะที่มีจำนวนสมาชิกสูง
- โดยใช้สถิติการฝึกอบรม ดังนั้นจึงไม่สะท้อนถึงประโยชน์ของฟีเจอร์สำหรับการคาดการณ์บนชุดทดสอบ[ 35 ]
ความสัมพันธ์กับเพื่อนบ้านที่ใกล้ที่สุด
ความสัมพันธ์ระหว่างป่าสุ่มและอัลกอริทึมเพื่อนบ้านใกล้ที่สุดk ตัว ( k -NN) ได้รับการชี้ให้เห็นโดย Lin และ Jeon ในปี 2545 [ 36 ]ทั้งสองสามารถมองได้ว่าเป็นแผนการเพื่อนบ้านแบบถ่วงน้ำหนัก ที่เรียกว่า แบบจำลองเหล่านี้สร้างขึ้นจากชุดฝึกอบรมที่ทำการคาดการณ์สำหรับจุดใหม่x'โดยพิจารณาจาก "บริเวณใกล้เคียง" ของจุด ซึ่งกำหนดเป็นทางการโดยฟังก์ชันน้ำหนักW : ในที่นี้คือน้ำหนักที่ไม่เป็นลบของจุดฝึกอบรมที่iเมื่อเทียบกับจุดใหม่x'ในต้นไม้เดียวกัน สำหรับx' ใดๆ น้ำหนักสำหรับจุดต้องรวมกันได้ 1 ฟังก์ชันน้ำหนักมีดังนี้:
- ในk -NN ค่าx iจะเท่ากับ 1 ในkจุดที่อยู่ใกล้x' มากที่สุด และจะเป็นศูนย์ในกรณีอื่น ๆ
- ในต้นไม้ถ้าx iเป็นหนึ่งในk'จุดที่อยู่ในใบเดียวกันกับx'และจะเป็นศูนย์ในกรณีอื่น ๆ
เนื่องจากป่าจำลองจะหาค่าเฉลี่ยของการทำนายจากชุด ต้นไม้ mต้นที่มีฟังก์ชันน้ำหนักเฉพาะตัวดังนั้นการทำนายของมันจึงเป็น
สิ่งนี้แสดงให้เห็นว่าป่าทั้งหมดเป็นโครงร่างเพื่อนบ้านแบบถ่วงน้ำหนักอีกครั้ง โดยมีน้ำหนักที่เฉลี่ยจากต้นไม้แต่ละต้น เพื่อนบ้านของx'ในการตีความนี้คือจุดที่ใช้ใบเดียวกันในต้นไม้ใดๆด้วยวิธีนี้ เพื่อนบ้านของx'ขึ้นอยู่กับโครงสร้างของต้นไม้ในลักษณะที่ซับซ้อน และด้วยเหตุนี้จึงขึ้นอยู่กับโครงสร้างของชุดข้อมูลฝึกฝน Lin และ Jeon แสดงให้เห็นว่ารูปร่างของเพื่อนบ้านที่ใช้โดยป่าสุ่มจะปรับให้เข้ากับความสำคัญในท้องถิ่นของแต่ละคุณลักษณะ[ 36 ]
การเรียนรู้แบบไม่มีผู้กำกับดูแล
ในการสร้างตัวทำนายแบบสุ่มป่า (random forest predictors) จะนำไปสู่การวัดความไม่เหมือนกันระหว่างการสังเกตโดยธรรมชาติ เราสามารถกำหนดความไม่เหมือนกันระหว่างข้อมูลที่ไม่มีป้ายกำกับได้ในลักษณะเดียวกัน โดยการฝึกป่าให้แยกแยะข้อมูล "ที่สังเกตได้" ดั้งเดิมออกจากข้อมูลสังเคราะห์ที่สร้างขึ้นอย่างเหมาะสมซึ่งดึงมาจากการแจกแจงอ้างอิง[ 7 ] [ 37 ]ความไม่เหมือนกันของป่าแบบสุ่มมีความน่าสนใจเพราะสามารถจัดการกับประเภทตัวแปรแบบผสมได้ดีมาก ไม่เปลี่ยนแปลงไปตามการแปลงแบบโมโนโทนิกของตัวแปรอินพุต และมีความทนทานต่อการสังเกตที่ผิดปกติ ความไม่เหมือนกันของป่าแบบสุ่มสามารถจัดการกับตัวแปรแบบกึ่งต่อเนื่องจำนวนมากได้อย่างง่ายดายเนื่องจากการเลือกตัวแปรโดยธรรมชาติ ตัวอย่างเช่น ความไม่เหมือนกันของป่าแบบสุ่ม "Addcl 1" จะถ่วงน้ำหนักการมีส่วนร่วมของแต่ละตัวแปรตามความสัมพันธ์กับตัวแปรอื่น ความไม่เหมือนกันของป่าแบบสุ่มถูกนำไปใช้ในแอปพลิเคชันที่หลากหลาย เช่น การค้นหากลุ่มผู้ป่วยตามข้อมูลเครื่องหมายเนื้อเยื่อ[ 38 ]
ตัวแปร
แทนที่จะใช้ต้นไม้ตัดสินใจ โมเดลเชิงเส้นได้รับการเสนอและประเมินเป็นตัวประมาณค่าพื้นฐานในป่าสุ่ม โดยเฉพาะอย่างยิ่งการถดถอยโลจิสติกแบบหลายตัวเลือกและตัวจำแนกแบบเบย์แบบง่าย[ 39 ] [ 40 ] [ 41 ]ในกรณีที่ความสัมพันธ์ระหว่างตัวทำนายและตัวแปรเป้าหมายเป็นเชิงเส้น ตัวเรียนรู้พื้นฐานอาจมีความแม่นยำสูงเท่ากับตัวเรียนรู้แบบกลุ่ม[ 42 ] [ 39 ]
ป่าสุ่มเคอร์เนล
ในการเรียนรู้ของเครื่อง Kernel Random Forests (KeRF) สร้างความเชื่อมโยงระหว่าง Random Forests กับKernel Methodsโดยการปรับเปลี่ยนคำจำกัดความเล็กน้อย Random Forests สามารถเขียนใหม่เป็นKernel Methodsซึ่งตีความได้ง่ายกว่าและวิเคราะห์ได้ง่ายกว่า[ 43 ]
ประวัติศาสตร์
Leo Breiman [ 44 ]เป็นคนแรกที่สังเกตเห็นความเชื่อมโยงระหว่าง random forest และวิธีการเคอร์เนลเขาชี้ให้เห็นว่า random forest ที่ฝึกฝนโดยใช้ เวกเตอร์สุ่ม iidในการสร้างต้นไม้เทียบเท่ากับเคอร์เนลที่กระทำบนขอบจริง Lin และ Jeon [ 45 ]ได้สร้างความเชื่อมโยงระหว่าง random forest และ adaptive nearest neighbor ซึ่งหมายความว่า random forest สามารถมองได้ว่าเป็นค่าประมาณเคอร์เนลแบบปรับตัว Davies และ Ghahramani [ 46 ]เสนอ Kernel Random Forest (KeRF) และแสดงให้เห็นว่ามันสามารถทำงานได้ดีกว่าวิธีการเคอร์เนลที่ทันสมัยที่สุดในทางปฏิบัติ Scornet [ 43 ]เป็นคนแรกที่กำหนดค่าประมาณ KeRF และให้ความเชื่อมโยงที่ชัดเจนระหว่างค่าประมาณ KeRF และ random forest เขายังให้สูตรที่ชัดเจนสำหรับเคอร์เนลโดยอิงจาก centered random forest [ 47 ]และ uniform random forest [ 48 ]ซึ่งเป็นแบบจำลอง random forest ที่ง่ายขึ้นสองแบบ เขาตั้งชื่อ KeRF ทั้งสองนี้ว่า Centered KeRF และ Uniform KeRF และพิสูจน์ขอบเขตบนของอัตราความสอดคล้องของพวกมัน
สัญลักษณ์และคำจำกัดความ
ข้อมูลเบื้องต้น: ป่าศูนย์กลาง
Centered forest [ 47 ]เป็นแบบจำลองที่เรียบง่ายกว่าของ random forest ดั้งเดิมของ Breiman ซึ่งเลือกแอตทริบิวต์อย่างสม่ำเสมอจากแอตทริบิวต์ทั้งหมด และทำการแบ่งที่จุดศูนย์กลางของเซลล์ตามแอตทริบิวต์ที่เลือกไว้ล่วงหน้า อัลกอริทึมจะหยุดเมื่อสร้างต้นไม้ไบนารีแบบสมบูรณ์ระดับ โดยที่เป็นพารามิเตอร์ของอัลกอริทึม
ป่าสม่ำเสมอ
Uniform forest [ 48 ]เป็นอีกรูปแบบหนึ่งที่เรียบง่ายกว่าของ random forest ดั้งเดิมของ Breiman ซึ่งเลือกคุณลักษณะหนึ่งในบรรดาคุณลักษณะทั้งหมดอย่างสม่ำเสมอ และทำการแบ่งที่จุดซึ่งวาดอย่างสม่ำเสมอที่ด้านข้างของเซลล์ ตามคุณลักษณะที่เลือกไว้ล่วงหน้า
จาก Random Forest ไปสู่ KeRF
กำหนดให้ชุดข้อมูลฝึกฝน ประกอบด้วยตัวแปรสุ่มอิสระที่มีค่าเป็น n และมีการแจกแจงแบบคู่ต้นแบบอิสระโดยที่เรามีเป้าหมายที่จะทำนายค่าตอบสนองที่เกี่ยวข้องกับตัวแปรสุ่มโดยการประมาณฟังก์ชันการถดถอย ป่าการถดถอยแบบสุ่มคือกลุ่มของต้นไม้การถดถอยแบบสุ่ม ให้ค่าที่ทำนายได้ที่จุด n แทนต้นไม้ที่ i โดยที่ n เป็นตัวแปรสุ่มอิสระที่มีการแจกแจงแบบตัวแปรสุ่มทั่วไปซึ่งเป็นอิสระจากชุดข้อมูลตัวแปรสุ่มนี้สามารถใช้เพื่ออธิบายความสุ่มที่เกิดจากการแบ่งโหนดและขั้นตอนการสุ่มตัวอย่างสำหรับการสร้างต้นไม้ ต้นไม้เหล่านี้จะถูกรวมเข้าด้วยกันเพื่อสร้างการประมาณป่าแบบจำกัดสำหรับต้นไม้การถดถอย เรามีโดยที่ n คือเซลล์ที่บรรจุ n ซึ่งออกแบบด้วยความสุ่มและชุดข้อมูล n และn
ดังนั้น การประมาณค่าป่าสุ่มจึงเป็นไปตามเงื่อนไขสำหรับทุกค่า ป่าการถดถอยสุ่มมีการหาค่าเฉลี่ยสองระดับ ระดับแรกคือค่าเฉลี่ยของตัวอย่างในเซลล์เป้าหมายของต้นไม้ จากนั้นจึงหาค่าเฉลี่ยของต้นไม้ทั้งหมด ดังนั้น การมีส่วนร่วมของการสังเกตที่อยู่ในเซลล์ที่มีความหนาแน่นของจุดข้อมูลสูงจึงน้อยกว่าการมีส่วนร่วมของการสังเกตที่อยู่ในเซลล์ที่มีประชากรน้อยกว่า เพื่อปรับปรุงวิธีการป่าสุ่มและชดเชยการประมาณค่าผิดพลาด Scornet [ 43 ]ได้กำหนด KeRF โดย ที่เท่ากับค่าเฉลี่ยของค่า 's ที่อยู่ในเซลล์ที่มีในป่า หากเรากำหนดฟังก์ชันการเชื่อมต่อของป่าจำกัดเป็น นั่นคือ สัดส่วนของเซลล์ที่ใช้ร่วมกันระหว่างและแล้วเกือบจะแน่นอนว่าเราจะมีซึ่งกำหนด KeRF
เคอาร์เอฟแบบศูนย์กลาง
การสร้าง Centered KeRF ในระดับนั้นเหมือนกับการสร้าง Centered Forest ยกเว้นว่าการทำนายจะทำโดยฟังก์ชันเคอร์เนลหรือฟังก์ชันการเชื่อมต่อที่เกี่ยวข้อง
เครื่องแบบ KeRF
Uniform KeRF ถูกสร้างขึ้นในลักษณะเดียวกับ Uniform Forest ยกเว้นว่าการทำนายจะทำโดยฟังก์ชันเคอร์เนลหรือฟังก์ชันการเชื่อมต่อที่เกี่ยวข้อง
คุณสมบัติ
ความสัมพันธ์ระหว่าง KeRF และ Random Forest
ผลการทำนายจาก KeRF และ Random Forest จะใกล้เคียงกัน หากควบคุมจำนวนจุดในแต่ละเซลล์:
สมมติว่ามีลำดับอยู่ซึ่งโดยส่วนใหญ่แล้ว แล้วโดยส่วนใหญ่แล้ว
ความสัมพันธ์ระหว่าง KeRF อนันต์และป่าสุ่มอนันต์
เมื่อจำนวนต้นไม้มีค่าเข้าสู่ค่าอนันต์ เราก็จะได้ป่าสุ่มอนันต์และ KeRF อนันต์ ค่าประมาณของทั้งสองจะใกล้เคียงกันหากจำนวนการสังเกตในแต่ละเซลล์มีขอบเขตจำกัด:
สมมติว่ามีลำดับอยู่ซึ่งเกือบจะแน่นอนว่า
ดังนั้นแทบจะแน่นอนว่า
ผลลัพธ์ที่สอดคล้องกัน
สมมติว่าโดยที่เป็นสัญญาณรบกวนเกาส์เซียนแบบศูนย์กลาง ซึ่งเป็นอิสระจากโดยมีความแปรปรวนจำกัดยิ่งไปกว่านั้นมีการกระจายแบบสม่ำเสมอบนและเป็นลิปชิตซ์ Scornet [ 43 ]ได้พิสูจน์ขอบเขตบนของอัตราความสอดคล้องสำหรับ KeRF แบบศูนย์กลางและ KeRF แบบสม่ำเสมอ
ความสม่ำเสมอของ KeRF ศูนย์กลาง
หากกำหนดให้และมีค่าคงที่ อยู่ค่าหนึ่งซึ่งสำหรับทุกค่า .
ความสม่ำเสมอของ KeRF ที่เป็นเอกภาพ
หากกำหนดให้และมีค่าคงที่อยู่ค่าหนึ่งซึ่ง ทำให้
ข้อเสีย
แม้ว่าป่าสุ่มมักจะให้ความแม่นยำสูงกว่าต้นไม้ตัดสินใจต้นเดียว แต่ก็ต้องแลกมาด้วยความสามารถในการตีความ โดยธรรมชาติ ของต้นไม้ตัดสินใจ ต้นไม้ตัดสินใจเป็นหนึ่งในตระกูลโมเดลการเรียนรู้ของเครื่องที่มีความสามารถในการตีความได้ง่าย เช่นเดียวกับโมเดลเชิงเส้น โมเดล ตามกฎและ โมเดลตาม ความสนใจความสามารถในการตีความนี้เป็นหนึ่งในข้อได้เปรียบหลักของต้นไม้ตัดสินใจ ช่วยให้นักพัฒนาสามารถยืนยันได้ว่าโมเดลได้เรียนรู้ข้อมูลที่สมจริงจากข้อมูล และช่วยให้ผู้ใช้ปลายทางมีความเชื่อมั่นในการตัดสินใจของโมเดล[ 39 ] [ 3 ]ตัวอย่างเช่น การติดตามเส้นทางที่ต้นไม้ตัดสินใจใช้ในการตัดสินใจนั้นค่อนข้างง่าย แต่การติดตามเส้นทางของต้นไม้หลายสิบหรือหลายร้อยต้นนั้นยากกว่ามาก เพื่อให้ได้ทั้งประสิทธิภาพและความสามารถในการตีความ เทคนิคการบีบอัดโมเดลบางอย่างช่วยให้สามารถแปลงป่าสุ่มเป็นต้นไม้ตัดสินใจ "เกิดใหม่" ขั้นต่ำที่สร้างฟังก์ชันการตัดสินใจเดียวกันได้อย่างแม่นยำ[ 39 ] [ 49 ] [ 50 ]
ข้อจำกัดอีกประการหนึ่งของป่าสุ่มคือ หากคุณลักษณะมีความสัมพันธ์เชิงเส้นกับเป้าหมาย ป่าสุ่มอาจไม่เพิ่มความแม่นยำของตัวเรียนรู้พื้นฐาน[ 39 ] [ 42 ]เช่นเดียวกับในปัญหาที่มีตัวแปรเชิงหมวดหมู่หลายตัว[ 51 ]
ดูเพิ่มเติม
- Boosting – วิธีการเรียนรู้แบบ Ensemble
- การเรียนรู้แบบต้นไม้ตัดสินใจ – อัลกอริทึมการเรียนรู้ของเครื่อง
- การเรียนรู้แบบกลุ่ม – สถิติและเทคนิคการเรียนรู้ของเครื่องจักร
- การเพิ่มประสิทธิภาพแบบไล่ระดับ – เทคนิคการเรียนรู้ของเครื่อง
- สถิติแบบไม่ใช้พารามิเตอร์ – ประเภทของการวิเคราะห์ทางสถิติ
- อัลกอริทึมแบบสุ่ม – อัลกอริทึมที่ใช้ความสุ่มในระดับหนึ่งเป็นส่วนหนึ่งของตรรกะหรือกระบวนการทำงาน
อ่านเพิ่มเติม
- Prinzie A, Poel D (2007). "การจำแนกประเภทหลายคลาสแบบสุ่ม: การขยายผลของ Random Forests ไปสู่ Random MNL และ Random NB" . การประยุกต์ใช้ฐานข้อมูลและระบบผู้เชี่ยวชาญ . บันทึกการบรรยายในวิทยาการคอมพิวเตอร์ . เล่มที่ 4653. หน้า 349. doi : 10.1007/978-3-540-74469-6_35 . ISBN 978-3-540-74467-2.
- Denisko D, Hoffman MM (กุมภาพันธ์ 2018). "การจำแนกและการปฏิสัมพันธ์ในป่าสุ่ม" . Proceedings of the National Academy of Sciences of the United States of America . 115 (8): 1690– 1692. Bibcode : 2018PNAS..115.1690D . doi : 10.1073/pnas.1800256115 . PMC 5828645 . PMID 29440440 .
- Hajjem, Ahlem; Bellavance, François; Larocque, Denis (2014-06-03). "ป่าสุ่มแบบผสมสำหรับข้อมูลแบบคลัสเตอร์"วารสารการคำนวณทางสถิติและการจำลอง 84 ( 6): 1313– 1328. doi : 10.1080/00949655.2012.741599 . ISSN 0094-9655 .
ลิงก์ภายนอก
- คำอธิบายเกี่ยวกับตัวจำแนกประเภท Random Forests (จากเว็บไซต์ของ Leo Breiman)
- Liaw, Andy & Wiener, Matthew "การจำแนกและการถดถอยโดยใช้ randomForest" R News (2002) เล่ม 2/3 หน้า 18 (การอภิปรายเกี่ยวกับการใช้แพ็กเกจ random forest สำหรับR )
สรุปเนื้อหา
ข้อมูลสำคัญจากบทความ
ข้อมูลสำคัญเกี่ยวกับ ป่าสุ่ม
ป่าสุ่ม หรือ ป่าตัดสินใจแบบสุ่ม เป็น วิธี การเรียนรู้แบบกลุ่ม สำหรับการ จำแนก การถดถอย และงานอื่นๆ ที่ทำงานโดยการสร้าง ต้นไม้ตัดสินใจ จำนวนมากในระหว่างการฝึกอบรม สำหรับงานจำแนก...
ประวัติศาสตร์
วิธีการทั่วไปของป่าตัดสินใจแบบสุ่มได้รับการเสนอครั้งแรกโดย Salzberg และ Heath ในปี 1993 [ 12 ] ด้วยวิธีการที่ใช้อัลกอริทึมต้นไม้ตัดสินใจแบบสุ่มเพื่อสร้างต้นไม้หลายต้นแล้วรวมเข้าด้วยกันโดยใช้การลงคะแนนเสียงข้างมาก แนวคิดนี้ได้รับการพัฒนาเพิ่มเติมโดย Ho ในปี...
เบื้องต้น: การเรียนรู้แผนผังการตัดสินใจ
ต้นไม้ตัดสินใจเป็นวิธีการที่นิยมใช้สำหรับงานการเรียนรู้ของเครื่องต่างๆ การเรียนรู้แบบต้นไม้เกือบจะเป็น "ขั้นตอนสำเร็จรูปสำหรับการทำเหมืองข้อมูล" ดังที่ Hastie และคณะ กล่าวไว้ "เพราะมันไม่เปลี่ยนแปลงภายใต้การปรับขนาดและการแปลงค่าคุณลักษณะต่างๆ...
การบรรจุ
อัลกอริทึมการฝึกฝนสำหรับ Random Forests ใช้เทคนิคทั่วไปของการ รวมแบบบูตสแตรป หรือ Bagging กับตัวเรียนรู้ต้นไม้ โดยกำหนดชุดข้อมูลฝึกฝน X = x 1 , ..., x n ที่มีคำตอบ Y = y 1 , ...