อ่าน 8 นาที
การเรียนรู้เคอร์เนลหลายตัว
การเรียนรู้แบบหลายเคอร์เนลหมายถึง ชุดของวิธีการเรียนรู้ของเครื่องที่ใช้ชุดเคอร์เนล ที่กำหนดไว้ล่วงหน้า...
การเรียนรู้เคอร์เนลหลายตัว
| ส่วนหนึ่งของชุดบทความเกี่ยวกับ |
| การเรียนรู้ของเครื่องจักรและการขุดข้อมูล |
|---|
การเรียนรู้แบบหลายเคอร์เนลหมายถึง ชุดของวิธีการเรียนรู้ของเครื่องที่ใช้ชุดเคอร์เนล ที่กำหนดไว้ล่วงหน้า และเรียนรู้การผสมผสานเชิงเส้นหรือไม่เชิงเส้นที่เหมาะสมที่สุดของเคอร์เนลเป็นส่วนหนึ่งของอัลกอริทึม เหตุผลในการใช้การเรียนรู้แบบหลายเคอร์เนล ได้แก่ ก) ความสามารถในการเลือกเคอร์เนลและพารามิเตอร์ที่เหมาะสมที่สุดจากชุดเคอร์เนลที่ใหญ่กว่า ลดอคติเนื่องจากการเลือกเคอร์เนลในขณะที่อนุญาตให้วิธีการเรียนรู้ของเครื่องเป็นไปโดยอัตโนมัติมากขึ้น และ ข) การรวมข้อมูลจากแหล่งต่างๆ (เช่น เสียงและภาพจากวิดีโอ) ที่มีแนวคิดเรื่องความคล้ายคลึงกันที่แตกต่างกันและดังนั้นจึงต้องการเคอร์เนลที่แตกต่างกัน แทนที่จะสร้างเคอร์เนลใหม่ อัลกอริทึมแบบหลายเคอร์เนลสามารถใช้เพื่อรวมเคอร์เนลที่สร้างขึ้นแล้วสำหรับแต่ละแหล่งข้อมูลได้
แนวทางการเรียนรู้เคอร์เนลหลายตัวถูกนำมาใช้ในแอปพลิเคชันต่างๆ มากมาย เช่น การจดจำเหตุการณ์ในวิดีโอ[ 1 ]การจดจำวัตถุในภาพ[ 2 ]และการรวมข้อมูลชีวการแพทย์[ 3 ]
อัลกอริทึม
มีการพัฒนาอัลกอริธึมการเรียนรู้แบบเคอร์เนลหลายตัวสำหรับการเรียนรู้แบบมีผู้กำกับดูแล แบบกึ่งมีผู้กำกับดูแล และแบบไม่มีผู้กำกับดูแล งานส่วนใหญ่ทำในกรณีการเรียนรู้แบบมีผู้กำกับดูแลโดยใช้การรวมเชิงเส้นของเคอร์เนล อย่างไรก็ตาม มีอัลกอริธึมจำนวนมากที่ถูกพัฒนาขึ้นมา แนวคิดพื้นฐานเบื้องหลังอัลกอริธึมการเรียนรู้แบบเคอร์เนลหลายตัวคือการเพิ่มพารามิเตอร์พิเศษเข้าไปในปัญหาการลดค่าของอัลกอริธึมการเรียนรู้ ตัวอย่างเช่น พิจารณากรณีการเรียนรู้แบบมีผู้กำกับดูแลของการรวมเชิงเส้นของชุดเคอร์เนลเราแนะนำเคอร์เนลใหม่โดยที่เป็นเวกเตอร์ของสัมประสิทธิ์สำหรับแต่ละเคอร์เนล เนื่องจากเคอร์เนลสามารถบวกกันได้ (เนื่องจากคุณสมบัติของปริภูมิฮิลเบิร์ตเคอร์เนลที่สร้างซ้ำได้ ) ฟังก์ชันใหม่นี้จึงยังคงเป็นเคอร์เนล สำหรับชุดข้อมูลที่มีป้ายกำกับปัญหาการลดค่าสามารถเขียนได้เป็น
โดยที่เป็นฟังก์ชันข้อผิดพลาด และเป็นเทอมการปรับค่า โดยทั่วไปแล้ว จะเป็นฟังก์ชันการสูญเสียกำลังสอง ( การปรับค่าแบบ Tikhonov ) หรือฟังก์ชันการสูญเสียแบบบานพับ (สำหรับ อัลกอริธึม SVM ) และมักจะเป็นค่าปกติหรือการรวมกันของค่าปกติบางอย่าง (เช่นการปรับค่าแบบ elastic net ) จากนั้นปัญหาการเพิ่มประสิทธิภาพนี้สามารถแก้ไขได้โดยวิธีการเพิ่มประสิทธิภาพมาตรฐาน นอกจากนี้ยังมีการพัฒนาการปรับเปลี่ยนเทคนิคที่มีอยู่ เช่น การเพิ่มประสิทธิภาพขั้นต่ำแบบลำดับ สำหรับวิธีการที่ใช้ SVM แบบหลายเคอร์เนล[ 4 ]
การเรียนรู้ภายใต้การดูแล
สำหรับการเรียนรู้แบบมีผู้กำกับดูแล มีอัลกอริธึมอื่นๆ อีกมากมายที่ใช้วิธีการต่างๆ ในการเรียนรู้รูปแบบของเคอร์เนล การจัดหมวดหมู่ต่อไปนี้ได้รับการเสนอโดย Gonen และ Alpaydın (2011) [ 5 ]
แนวทางการใช้กฎเกณฑ์ที่ตายตัว
วิธีการใช้กฎคงที่ เช่น อัลกอริทึมการรวมเชิงเส้นที่อธิบายไว้ข้างต้น ใช้กฎในการกำหนดการรวมกันของเคอร์เนล วิธีนี้ไม่จำเป็นต้องกำหนดพารามิเตอร์ และใช้กฎเช่นการบวกและการคูณเพื่อรวมเคอร์เนลเข้าด้วยกัน การกำหนดน้ำหนักจะถูกเรียนรู้ในอัลกอริทึม ตัวอย่างอื่นๆ ของกฎคงที่ ได้แก่ เคอร์เนลแบบจับคู่ ซึ่งมีรูปแบบดังนี้
- .
วิธีการจับคู่เหล่านี้ถูกนำมาใช้ในการทำนายปฏิสัมพันธ์ระหว่างโปรตีนกับโปรตีน[ 6 ]
แนวทางเชิงฮิวริสติก
อัลกอริทึมเหล่านี้ใช้ฟังก์ชันผสมที่มีพารามิเตอร์ โดยทั่วไปพารามิเตอร์จะถูกกำหนดสำหรับเคอร์เนลแต่ละตัวโดยพิจารณาจากประสิทธิภาพของเคอร์เนลเดี่ยวหรือการคำนวณบางอย่างจากเมทริกซ์เคอร์เนล ตัวอย่างเช่น เคอร์เนลจาก Tenabe et al. (2008) [ 7 ]ให้เป็นความแม่นยำที่ได้รับโดยใช้เพียงและให้เป็นเกณฑ์ที่น้อยกว่าค่าต่ำสุดของความแม่นยำของเคอร์เนลเดี่ยว เราสามารถกำหนด
วิธีการอื่นๆ ใช้คำจำกัดความของความคล้ายคลึงของเคอร์เนล เช่น
โดยใช้มาตรการนี้ Qui และ Lane (2009) [ 8 ]ใช้ฮิวริสติกต่อไปนี้ในการกำหนด
แนวทางการเพิ่มประสิทธิภาพ
แนวทางเหล่านี้แก้ปัญหาการเพิ่มประสิทธิภาพเพื่อกำหนดพารามิเตอร์สำหรับฟังก์ชันการรวมเคอร์เนล ซึ่งได้ดำเนินการโดยใช้มาตรวัดความคล้ายคลึงและแนวทางการลดความเสี่ยงเชิงโครงสร้าง สำหรับมาตรวัดความคล้ายคลึงเช่นที่กำหนดไว้ข้างต้น ปัญหาสามารถกำหนดได้ดังนี้: [ 9 ]
เคอร์เนลของชุดข้อมูลฝึกฝนอยู่ ที่ไหน
แนวทาง การลดความเสี่ยงเชิงโครงสร้างที่ใช้ ได้แก่ แนวทางเชิงเส้น เช่น แนวทางที่ใช้โดย Lanckriet et al. (2002) [ 10 ]เราสามารถกำหนดความไม่น่าเชื่อถือของเคอร์เนลให้เป็นค่าของฟังก์ชันวัตถุประสงค์หลังจากแก้ปัญหา SVM มาตรฐาน จากนั้นเราสามารถแก้ปัญหาการลดค่าต่อไปนี้ได้:
โดยที่เป็นค่าคงที่บวก นอกจากนี้ยังมีรูปแบบอื่นๆ อีกมากมายที่ใช้แนวคิดเดียวกันนี้ โดยมีวิธีการปรับปรุงและแก้ปัญหาที่แตกต่างกัน เช่น การใช้ค่าน้ำหนักที่ไม่เป็นลบสำหรับเคอร์เนลแต่ละตัว และการใช้การรวมเคอร์เนลแบบไม่เชิงเส้น
แนวทางแบบเบย์เซียน
วิธีการแบบเบย์เซียนจะกำหนดค่าเบื้องต้นให้กับพารามิเตอร์ของเคอร์เนลและเรียนรู้ค่าพารามิเตอร์จากค่าเบื้องต้นเหล่านั้นและจากอัลกอริธึมพื้นฐาน ตัวอย่างเช่น ฟังก์ชันการตัดสินใจสามารถเขียนได้ดังนี้
สามารถสร้างแบบจำลองได้ด้วยการใช้ Dirichlet prior และสามารถสร้างแบบจำลองได้ด้วยการใช้ Gaussian ที่มีค่าเฉลี่ยเป็นศูนย์และ Inverse Gamma variance prior จากนั้นจึงทำการปรับแบบจำลองนี้ให้เหมาะสมที่สุดโดยใช้ วิธี multinomial probit ที่ปรับแต่งเอง โดยใช้Gibbs sampler
[ 11 ] วิธีการเหล่านี้ได้รับการนำไปใช้สำเร็จในแอปพลิเคชันต่างๆ เช่น การจดจำโครงสร้างโปรตีนและปัญหาความคล้ายคลึงของโปรตีน [ 12 ] [ 13 ]
แนวทางการส่งเสริม
แนวทางการเพิ่มประสิทธิภาพจะเพิ่มเคอร์เนลใหม่ซ้ำ ๆ จนกว่าจะถึงเกณฑ์การหยุดบางอย่างซึ่งเป็นฟังก์ชันของประสิทธิภาพ ตัวอย่างเช่น โมเดล MARK ที่พัฒนาโดย Bennett et al. (2002) [ 14 ]
พารามิเตอร์และถูกเรียนรู้โดยใช้การลดระดับความชันบนพื้นฐานของพิกัด ด้วยวิธีนี้ ในแต่ละรอบของการวนซ้ำของอัลกอริธึมการลดระดับความชัน จะระบุคอลัมน์เคอร์เนลที่ดีที่สุดที่จะเลือกในแต่ละรอบการวนซ้ำ และเพิ่มคอลัมน์นั้นเข้าไปในเคอร์เนลที่รวมกัน จากนั้นจึงรันโมเดลอีกครั้งเพื่อสร้างน้ำหนักและที่ เหมาะสมที่สุด
การเรียนรู้แบบกึ่งกำกับดูแล
แนวทาง การเรียนรู้แบบกึ่งกำกับดูแลสำหรับการเรียนรู้เคอร์เนลหลายตัวนั้นคล้ายคลึงกับส่วนขยายอื่นๆ ของแนวทางการเรียนรู้แบบกำกับดูแล ได้มีการพัฒนาขั้นตอนวิธีแบบอุปนัยที่ใช้การสูญเสียเชิงประจักษ์แบบลอการิทึมความน่าจะเป็นและการควบคุมแบบ LASSO กลุ่มพร้อมฉันทามติความคาดหวังแบบมีเงื่อนไขบนข้อมูลที่ไม่มีป้ายกำกับสำหรับการจำแนกประเภทภาพ เราสามารถกำหนดปัญหาได้ดังนี้ ให้เป็นข้อมูลที่มีป้ายกำกับ และให้เป็นเซตของข้อมูลที่ไม่มีป้ายกำกับ จากนั้นเราสามารถเขียนฟังก์ชันการตัดสินใจได้ดังนี้
ปัญหาดังกล่าวสามารถเขียนได้ดังนี้
โดยที่คือฟังก์ชันความสูญเสีย (ในกรณีนี้คือลอการิทึมความน่าจะเป็นลบแบบถ่วงน้ำหนัก) คือพารามิเตอร์การปรับค่า ( ในกรณีนี้คือ Group LASSO ) และคือค่าปรับความเห็นพ้องตามความคาดหวังแบบมีเงื่อนไข (CEC) สำหรับข้อมูลที่ไม่มีป้ายกำกับ ค่าปรับ CEC ถูกกำหนดดังนี้ ให้ความหนาแน่นเคอร์เนลแบบมาร์จินัลสำหรับข้อมูลทั้งหมดเป็น
โดยที่(ระยะห่างของเคอร์เนลระหว่างข้อมูลที่มีป้ายกำกับและข้อมูลที่มีป้ายกำกับและไม่มีป้ายกำกับทั้งหมด) และเป็นเวกเตอร์สุ่มที่ไม่เป็นลบที่มีนอร์ม 2 เท่ากับ 1 ค่าของคือจำนวนครั้งที่แต่ละเคอร์เนลถูกฉาย จากนั้นจะทำการปรับค่าความคาดหวังบน MKD ส่งผลให้ได้ค่าความคาดหวังอ้างอิงและค่าความคาดหวังของแบบจำลองจากนั้น เรากำหนด
ความแตกต่าง Kullback–Leiblerอยู่ที่ไหนปัญหาการลดค่ารวมได้รับการปรับให้เหมาะสมโดยใช้อัลกอริทึมการไล่ระดับบล็อกที่ดัดแปลง สำหรับข้อมูลเพิ่มเติม โปรดดู Wang et al. [ 15 ]
การเรียนรู้แบบไม่มีผู้กำกับดูแล
นอกจากนี้ Zhuang et al. ยังได้เสนออัลกอริธึมการเรียนรู้แบบหลายเคอร์เนลโดยไม่ใช้การกำกับดูแล ปัญหาดังกล่าวถูกกำหนดไว้ดังนี้ ให้ เป็นชุดข้อมูลที่ไม่มีป้ายกำกับ นิยามของเคอร์เนลคือเคอร์เนลแบบผสมเชิงเส้นในปัญหานี้ ข้อมูลจำเป็นต้องถูก "จัดกลุ่ม" เป็นกลุ่มตามระยะทางของเคอร์เนล ให้เป็นกลุ่มหรือคลัสเตอร์ของ ซึ่งเป็นสมาชิก เรากำหนดฟังก์ชันความสูญเสียเป็นนอกจากนี้ เราลดความผิดเพี้ยนโดยการลดค่าสุดท้าย เราเพิ่มเทอมการปรับค่าเพื่อหลีกเลี่ยงการโอเวอร์ฟิตติ้ง เมื่อรวมเทอมเหล่านี้เข้าด้วยกัน เราสามารถเขียนปัญหาการลดค่าได้ดังนี้
โดยที่ . การกำหนดสูตรหนึ่งของสิ่งนี้มีดังต่อไปนี้ ให้เป็นเมทริกซ์ที่หมายความว่าและเป็นเพื่อนบ้านกัน ดังนั้น. โปรดทราบว่ากลุ่มเหล่านี้จะต้องเรียนรู้ด้วยเช่นกัน Zhuang et al. แก้ปัญหานี้โดยใช้วิธีการลดค่าสลับกันสำหรับและกลุ่มสำหรับข้อมูลเพิ่มเติม โปรดดู Zhuang et al. [ 16 ]
ห้องสมุด
ไลบรารี MKL ที่มีให้เลือกใช้ ได้แก่
- SPG-GMKL : ไลบรารี C++ MKL SVM ที่ปรับขนาดได้ซึ่งสามารถจัดการเคอร์เนลได้ถึงหนึ่งล้านรายการ[ 17 ]
- GMKL : โค้ดการเรียนรู้เคอร์เนลหลายตัวแบบทั่วไปในMATLABดำเนินการและควบคุมการเรียนรู้แบบมีผู้กำกับดูแล[ 18 ]
- (อีก) GMKL : โค้ด MATLAB MKL ที่แตกต่างกันซึ่งสามารถทำการปรับค่าแบบ elastic net ได้เช่นกัน[ 19 ]
- SMO-MKL : ซอร์สโค้ด C++ สำหรับอัลกอริธึม MKL การปรับค่าขั้นต่ำแบบลำดับ ไม่มีการปรับขนาด -n orm [ 20 ]
- SimpleMKL : โค้ด MATLAB ที่ใช้พื้นฐานอัลกอริธึม SimpleMKL สำหรับ MKL SVM [ 21 ]
- MKLPy : เฟรมเวิร์ก Python สำหรับ MKL และเครื่องเคอร์เนลที่สอดคล้องกับ scikit พร้อมอัลกอริทึมต่างๆ เช่น EasyMKL [ 22 ]และอื่นๆ
สรุปเนื้อหา
ข้อมูลสำคัญจากบทความ
ข้อมูลสำคัญเกี่ยวกับ การเรียนรู้เคอร์เนลหลายตัว
การเรียนรู้แบบหลายเคอร์เนลหมายถึง ชุดของวิธีการเรียนรู้ของเครื่องที่ใช้ชุดเคอร์เนล ที่กำหนดไว้ล่วงหน้า...
อัลกอริทึม
มีการพัฒนาอัลกอริธึมการเรียนรู้แบบเคอร์เนลหลายตัวสำหรับการเรียนรู้แบบมีผู้กำกับดูแล แบบกึ่งมีผู้กำกับดูแล และแบบไม่มีผู้กำกับดูแล งานส่วนใหญ่ทำในกรณีการเรียนรู้แบบมีผู้กำกับดูแลโดยใช้การรวมเชิงเส้นของเคอร์เนล อย่างไรก็ตาม มีอัลกอริธึมจำนวนมากที่ถูกพัฒนาขึ้นมา...
การเรียนรู้ภายใต้การดูแล
สำหรับการเรียนรู้แบบมีผู้กำกับดูแล มีอัลกอริธึมอื่นๆ อีกมากมายที่ใช้วิธีการต่างๆ ในการเรียนรู้รูปแบบของเคอร์เนล การจัดหมวดหมู่ต่อไปนี้ได้รับการเสนอโดย Gonen และ Alpaydın (2011) [ 5 ]
การเรียนรู้แบบกึ่งกำกับดูแล
แนวทาง การเรียนรู้แบบกึ่งกำกับดูแล สำหรับการเรียนรู้เคอร์เนลหลายตัวนั้นคล้ายคลึงกับส่วนขยายอื่นๆ ของแนวทางการเรียนรู้แบบกำกับดูแล ได้มีการพัฒนาขั้นตอนวิธีแบบอุปนัยที่ใช้การสูญเสียเชิงประจักษ์แบบลอการิทึมความน่าจะเป็นและการควบคุมแบบ LASSO...