แมชชีนเลิร์นนิง (ML) กำลังเข้ามาเป็นของตัวเองโดยได้รับการยอมรับเพิ่มมากขึ้นว่า ML สามารถมีบทบาทสำคัญในแอปพลิเคชันที่สำคัญหลายประเภทเช่นการขุดข้อมูลการประมวลผลภาษาธรรมชาติการจดจำรูปภาพและระบบผู้เชี่ยวชาญ ML นำเสนอโซลูชันที่เป็นไปได้ในทุกโดเมนเหล่านี้และอีกมากมายและถูกกำหนดให้เป็นเสาหลักของอารยธรรมในอนาคตของเรา
อุปทานของ นักออกแบบ ML ที่มีความสามารถ ยังไม่สามารถตอบสนองความต้องการนี้ได้ เหตุผลสำคัญคือ ML เป็นเพียงเรื่องยุ่งยากธรรมดา บทแนะนำการเรียนรู้ของเครื่องนี้จะแนะนำพื้นฐานของทฤษฎี ML โดยจัดวางธีมและแนวคิดทั่วไปทำให้ง่ายต่อการปฏิบัติตามตรรกะและทำความคุ้นเคยกับพื้นฐานการเรียนรู้ของเครื่อง
แล้ว“ แมชชีนเลิร์นนิง” คืออะไรกันแน่? ML เป็นไฟล์ มาก ของสิ่งที่. ฟิลด์นี้ค่อนข้างกว้างใหญ่และกำลังขยายตัวอย่างรวดเร็วโดยมีการแบ่งพาร์ติชันอย่างต่อเนื่องและการแบ่งส่วนย่อยที่น่ารังเกียจเป็นความเชี่ยวชาญย่อยที่แตกต่างกันและ ประเภทของการเรียนรู้ของเครื่อง .
อย่างไรก็ตามมีเธรดพื้นฐานทั่วไปอยู่บ้างและชุดรูปแบบที่ครอบคลุมได้ดีที่สุดโดยคำแถลงที่อ้างถึงโดย Arthur Samuel ในปี 1959: “ [Machine Learning คือ] สาขาวิชาที่ช่วยให้คอมพิวเตอร์สามารถเรียนรู้ได้โดยไม่ต้องมีโปรแกรมอย่างชัดเจน”
และล่าสุดในปี 1997 ทอมมิทเชลล์ ให้คำจำกัดความที่ 'มีจุดยืนที่ดี' ซึ่งพิสูจน์แล้วว่ามีประโยชน์มากกว่าสำหรับประเภทวิศวกรรม: “ โปรแกรมคอมพิวเตอร์กล่าวกันว่าเรียนรู้จากประสบการณ์ E เกี่ยวกับงานบางอย่าง T และการวัดประสิทธิภาพบางอย่าง P ถ้าประสิทธิภาพของ T ที่วัดโดย P จะดีขึ้นตามประสบการณ์ E”
“ โปรแกรมคอมพิวเตอร์กล่าวกันว่าเรียนรู้จากประสบการณ์ E เกี่ยวกับงานบางอย่าง T และการวัดประสิทธิภาพบางอย่าง P ถ้าประสิทธิภาพของ T ที่วัดโดย P จะดีขึ้นตามประสบการณ์ E” - ทอมมิทเชลล์มหาวิทยาลัยคาร์เนกีเมลลอนดังนั้นหากคุณต้องการให้โปรแกรมของคุณคาดการณ์ตัวอย่างเช่นรูปแบบการจราจรที่ทางแยกที่พลุกพล่าน (งาน T) คุณสามารถเรียกใช้ผ่านอัลกอริทึมการเรียนรู้ของเครื่องที่มีข้อมูลเกี่ยวกับรูปแบบการรับส่งข้อมูลในอดีต (ประสบการณ์ E) และหากประสบความสำเร็จ ” จากนั้นจะคาดการณ์รูปแบบการเข้าชมในอนาคตได้ดีขึ้น (การวัดประสิทธิภาพ P)
แม้ว่าลักษณะที่ซับซ้อนอย่างมากของปัญหาในโลกแห่งความเป็นจริงมักจะหมายความว่าการคิดค้นอัลกอริทึมเฉพาะทางที่จะแก้ปัญหาได้อย่างสมบูรณ์แบบทุกครั้งนั้นไม่สามารถทำได้หากไม่สามารถทำได้ ตัวอย่างปัญหาการเรียนรู้ของเครื่อง ได้แก่ “ นี่คือมะเร็งเหรอ” , “ มูลค่าตลาดของบ้านหลังนี้คืออะไร” , “ คนเหล่านี้เป็นเพื่อนที่ดีต่อกัน” , “ เครื่องยนต์จรวดนี้จะระเบิดหรือไม่?” , “ คนนี้จะชอบหนังเรื่องนี้ไหม” , 'นี่คือใคร?' , 'คุณพูดอะไร?' และ “ คุณบินสิ่งนี้ได้อย่างไร” . ปัญหาทั้งหมดนี้เป็นเป้าหมายที่ดีเยี่ยมสำหรับโครงการ ML และในความเป็นจริง ML ได้ถูกนำไปใช้กับแต่ละปัญหาด้วยความสำเร็จ
ML แก้ปัญหาที่ไม่สามารถแก้ไขได้ด้วยวิธีตัวเลขเพียงอย่างเดียวในงาน ML ประเภทต่างๆความแตกต่างที่สำคัญเกิดขึ้นระหว่างการเรียนรู้ภายใต้การดูแลและการเรียนรู้ที่ไม่มีผู้ดูแล:
เราจะเน้นการเรียนรู้ภายใต้การดูแลเป็นหลักที่นี่ แต่ส่วนท้ายของบทความจะมีการอภิปรายสั้น ๆ เกี่ยวกับการเรียนรู้ที่ไม่มีผู้ดูแลพร้อมลิงก์บางส่วนสำหรับผู้ที่สนใจติดตามหัวข้อต่อไป
ในแอปพลิเคชันการเรียนรู้ภายใต้การดูแลส่วนใหญ่เป้าหมายสูงสุดคือการพัฒนาฟังก์ชันตัวทำนายที่ได้รับการปรับแต่งอย่างละเอียด h(x)
(บางครั้งเรียกว่า“ สมมติฐาน”) “ การเรียนรู้” ประกอบด้วยการใช้อัลกอริธึมทางคณิตศาสตร์ที่ซับซ้อนเพื่อปรับฟังก์ชันนี้ให้เหมาะสมเพื่อให้ข้อมูลอินพุต x
เกี่ยวกับโดเมนหนึ่ง ๆ (เช่นพื้นที่สี่เหลี่ยมจัตุรัสของบ้าน) มันจะทำนายค่าที่น่าสนใจบางอย่างได้อย่างแม่นยำ h(x)
(ราคาตลาดสำหรับบ้านหลังดังกล่าว)
ในทางปฏิบัติ x
มักจะแสดงถึงจุดข้อมูลหลายจุด ตัวอย่างเช่นตัวทำนายราคาที่อยู่อาศัยอาจใช้ไม่เพียงแค่ตารางฟุต (x1
) แต่ยังรวมถึงจำนวนห้องนอน (x2
), จำนวนห้องน้ำ (x3
), จำนวนชั้นด้วย (x4)
, ปีที่สร้าง (x5
), รหัสไปรษณีย์ (x6
) และอื่น ๆ การกำหนดว่าจะใช้อินพุตใดเป็นส่วนสำคัญของการออกแบบ ML อย่างไรก็ตามเพื่อประโยชน์ในการ คำอธิบายมันง่ายที่สุดที่จะถือว่าใช้ค่าอินพุตเดียว
สมมติว่าตัวทำนายอย่างง่ายของเรามีรูปแบบนี้:
ที่ไหน และ
คือค่าคงที่ เป้าหมายของเราคือการค้นหาค่าที่สมบูรณ์แบบของ
และ
เพื่อให้ตัวทำนายของเราทำงานได้ดีที่สุด
การเพิ่มประสิทธิภาพตัวทำนาย h(x)
เสร็จสิ้นโดยใช้ ตัวอย่างการฝึกอบรม . สำหรับแต่ละตัวอย่างการฝึกอบรมเรามีค่าอินพุต x_train
ซึ่งเป็นที่ทราบล่วงหน้าของเอาต์พุตที่สอดคล้องกัน สำหรับแต่ละตัวอย่างเราจะพบความแตกต่างระหว่างค่าที่ทราบแล้วค่าที่ถูกต้อง y
และค่าที่คาดการณ์ไว้ y
ด้วยตัวอย่างการฝึกอบรมที่เพียงพอความแตกต่างเหล่านี้ทำให้เรามีวิธีที่เป็นประโยชน์ในการวัด 'ความผิด' ของ h(x_train)
จากนั้นเราสามารถปรับแต่ง h(x)
โดยการปรับแต่งค่าของ และ
เพื่อให้ 'ผิดน้อยลง' กระบวนการนี้จะเกิดขึ้นซ้ำแล้วซ้ำเล่าจนกว่าระบบจะรวมค่าที่ดีที่สุดสำหรับ
และ
. ด้วยวิธีนี้ตัวทำนายจะได้รับการฝึกฝนและพร้อมที่จะทำการทำนายในโลกแห่งความเป็นจริง
เรายึดติดกับปัญหาง่ายๆในโพสต์นี้เพื่อประโยชน์ในการอธิบาย แต่เหตุผลที่ ML มีอยู่ก็เพราะว่าในโลกแห่งความเป็นจริงปัญหานั้นซับซ้อนกว่ามาก บนหน้าจอแบนนี้เราสามารถวาดภาพให้คุณได้มากที่สุดคือชุดข้อมูลสามมิติ แต่ปัญหา ML มักจะจัดการกับข้อมูลที่มีมิติข้อมูลนับล้านและฟังก์ชันตัวทำนายที่ซับซ้อนมาก ML แก้ปัญหาที่ไม่สามารถแก้ไขได้ด้วยวิธีตัวเลขเพียงอย่างเดียว
ด้วยเหตุนี้เรามาดูตัวอย่างง่ายๆ สมมติว่าเรามีข้อมูลการฝึกอบรมดังต่อไปนี้ซึ่งพนักงานของ บริษัท ได้ให้คะแนนความพึงพอใจในระดับ 1 ถึง 100:
ขั้นแรกให้สังเกตว่าข้อมูลมีเสียงดังเล็กน้อย นั่นคือในขณะที่เราสามารถเห็นได้ว่ามีรูปแบบอยู่ (เช่นความพึงพอใจของพนักงานมีแนวโน้มที่จะเพิ่มขึ้นเมื่อเงินเดือนสูงขึ้น) แต่ก็ไม่ได้เป็นไปอย่างเรียบร้อยบนเส้นตรง สิ่งนี้จะเป็นเช่นนั้นเสมอกับข้อมูลในโลกแห่งความเป็นจริง (และเราต้องการฝึกอบรมเครื่องของเราโดยใช้ข้อมูลจริง!) ถ้าอย่างนั้นเราจะฝึกเครื่องจักรเพื่อทำนายระดับความพึงพอใจของพนักงานได้อย่างสมบูรณ์แบบได้อย่างไร แน่นอนว่าคำตอบก็คือเราทำไม่ได้ เป้าหมายของ ML ไม่ได้อยู่ที่การคาดเดาที่“ สมบูรณ์แบบ” เพราะ ML ทำข้อตกลงในโดเมนที่ไม่มีสิ่งนั้น เป้าหมายคือการคาดเดาที่ดีพอที่จะเป็นประโยชน์
ค่อนข้างชวนให้นึกถึงคำกล่าวที่มีชื่อเสียงของนักคณิตศาสตร์และศาสตราจารย์ด้านสถิติชาวอังกฤษ กล่อง George E. P. ว่า“ ทุกรุ่นผิด แต่บางรุ่นก็มีประโยชน์”
เป้าหมายของ ML ไม่ได้อยู่ที่การคาดเดาที่“ สมบูรณ์แบบ” เพราะ ML ทำข้อตกลงในโดเมนที่ไม่มีสิ่งนั้น เป้าหมายคือการคาดเดาที่ดีพอที่จะเป็นประโยชน์Machine Learning สร้างสถิติอย่างมาก ตัวอย่างเช่นเมื่อเราฝึกให้เครื่องจักรของเราเรียนรู้เราต้องให้ตัวอย่างสุ่มที่มีนัยสำคัญทางสถิติเป็นข้อมูลการฝึกอบรม หากชุดการฝึกอบรมไม่ใช่แบบสุ่มเราจะเสี่ยงต่อรูปแบบแมชชีนเลิร์นนิงที่ไม่มีอยู่จริง และถ้าชุดฝึกเล็กเกินไป (ดู กฎหมายจำนวนมาก ) เราเรียนรู้ไม่เพียงพอและอาจได้ข้อสรุปที่ไม่ถูกต้องด้วยซ้ำ ตัวอย่างเช่นการพยายามทำนายรูปแบบความพึงพอใจของทั้ง บริษัท โดยอาศัยข้อมูลจากผู้บริหารระดับสูงเพียงอย่างเดียวอาจเกิดข้อผิดพลาดได้ง่าย
ด้วยความเข้าใจนี้เราจะให้ข้อมูลที่เราได้รับข้างต้นกับเครื่องของเราและให้เครื่องเรียนรู้ ก่อนอื่นเราต้องเริ่มต้นตัวทำนายของเรา h(x)
ด้วยค่าที่เหมาะสมบางประการของ และ
. ตอนนี้ตัวทำนายของเรามีลักษณะเช่นนี้เมื่อวางไว้เหนือชุดฝึกของเรา:
หากเราถามผู้ทำนายนี้เกี่ยวกับความพึงพอใจของพนักงานที่ทำเงินได้ 60,000 เหรียญก็จะคาดการณ์คะแนนที่ 27:
เห็นได้ชัดว่านี่เป็นการคาดเดาที่แย่มากและเครื่องนี้ไม่ค่อยรู้เรื่อง
ตอนนี้มาให้คำทำนายนี้กัน ทั้งหมด เงินเดือนจากชุดฝึกอบรมของเราและใช้ความแตกต่างระหว่างคะแนนความพึงพอใจที่คาดการณ์ไว้และคะแนนความพึงพอใจที่แท้จริงของพนักงานที่เกี่ยวข้อง หากเราใช้เวทมนตร์ทางคณิตศาสตร์เล็กน้อย (ซึ่งฉันจะอธิบายในไม่ช้า) เราสามารถคำนวณได้ด้วยความมั่นใจสูงมากค่า 13.12 สำหรับ และ 0.61 สำหรับ
จะให้คำทำนายที่ดีกว่าแก่เรา
และถ้าเราทำขั้นตอนนี้ซ้ำพูด 1500 ครั้งตัวทำนายของเราจะออกมาเป็นดังนี้:
เมื่อถึงจุดนี้หากเราทำซ้ำเราจะพบว่า และ
จะไม่เปลี่ยนแปลงตามจำนวนที่ประเมินได้อีกต่อไปดังนั้นเราจึงเห็นว่าระบบได้มาบรรจบกันแล้ว หากเราไม่ได้ทำผิดพลาดนั่นหมายความว่าเราพบตัวทำนายที่ดีที่สุดแล้ว ดังนั้นหากตอนนี้เราถามเครื่องอีกครั้งเกี่ยวกับคะแนนความพึงพอใจของพนักงานที่ทำเงินได้ 60,000 เหรียญเครื่องจะคาดการณ์คะแนนประมาณ 60
ตอนนี้เรากำลังจะไปที่ไหนสักแห่ง
ตัวอย่างข้างต้นเป็นปัญหาง่ายๆในทางเทคนิคของ การถดถอยเชิงเส้นแบบไม่แปรผัน ซึ่งในความเป็นจริงสามารถแก้ไขได้โดยการหาสมการปกติธรรมดา ๆ และข้ามกระบวนการ 'ปรับแต่ง' นี้ไปทั้งหมด อย่างไรก็ตามให้พิจารณาตัวทำนายที่มีลักษณะดังนี้:
ฟังก์ชั่นนี้รับอินพุตเป็นสี่มิติและมีคำศัพท์พหุนามที่หลากหลาย การหาสมการปกติสำหรับฟังก์ชันนี้ถือเป็นความท้าทายที่สำคัญ ปัญหาเกี่ยวกับแมชชีนเลิร์นนิงสมัยใหม่จำนวนมากใช้มิติข้อมูลหลายพันหรือหลายล้านมิติเพื่อสร้างการคาดการณ์โดยใช้ค่าสัมประสิทธิ์หลายร้อย การคาดการณ์ว่าจีโนมของสิ่งมีชีวิตจะแสดงออกอย่างไรหรือสภาพอากาศจะเป็นอย่างไรในรอบห้าสิบปีเป็นตัวอย่างของปัญหาที่ซับซ้อนดังกล่าว
ปัญหา ML ที่ทันสมัยจำนวนมากใช้ข้อมูลหลายพันหรือหลายล้านมิติในการสร้างการคาดการณ์โดยใช้ค่าสัมประสิทธิ์หลายร้อยโชคดีที่วิธีการทำซ้ำของระบบ ML นั้นมีความยืดหยุ่นมากกว่าเมื่อเผชิญกับความซับซ้อนดังกล่าว แทนที่จะใช้การบังคับแบบดุร้ายระบบแมชชีนเลิร์นนิงจะ“ รู้สึกได้” ในคำตอบ สำหรับปัญหาใหญ่วิธีนี้จะได้ผลดีกว่ามาก แม้ว่านี่จะไม่ได้หมายความว่า ML สามารถแก้ปัญหาที่ซับซ้อนตามอำเภอใจได้ทั้งหมด (ทำไม่ได้) แต่ก็เป็นเครื่องมือที่ยืดหยุ่นและทรงพลังอย่างไม่น่าเชื่อ
เรามาดูวิธีการทำงานของกระบวนการซ้ำนี้ให้ละเอียดยิ่งขึ้น ในตัวอย่างข้างต้นเราจะแน่ใจได้อย่างไร และ
จะดีขึ้นในแต่ละขั้นตอนและไม่แย่ลง? คำตอบอยู่ใน 'การวัดความผิด' ของเราที่กล่าวถึงก่อนหน้านี้พร้อมกับแคลคูลัสเล็กน้อย
การวัดความผิดถูกเรียกว่า ฟังก์ชันต้นทุน (ก. ก. ฟังก์ชั่นการสูญเสีย ), . อินพุต
แสดงถึงค่าสัมประสิทธิ์ทั้งหมดที่เราใช้ในตัวทำนายของเรา ดังนั้นในกรณีของเรา
เป็นคู่จริงๆ
และ
.
ทำให้เรามีการวัดทางคณิตศาสตร์ว่าตัวทำนายของเราผิดเพียงใดเมื่อใช้ค่าที่กำหนดของ
และ
.
ทางเลือกของฟังก์ชันต้นทุนเป็นอีกส่วนหนึ่งที่สำคัญของโปรแกรม ML ในบริบทที่แตกต่างกันการ“ ผิด” อาจหมายถึงสิ่งที่แตกต่างกันมาก ในตัวอย่างความพึงพอใจของพนักงานมาตรฐานที่เป็นที่ยอมรับคือ ฟังก์ชันกำลังสองเชิงเส้นน้อยที่สุด :
ด้วยกำลังสองน้อยโทษสำหรับการเดาที่ไม่ดีจะเพิ่มขึ้นเป็นกำลังสองโดยมีความแตกต่างระหว่างการเดาและคำตอบที่ถูกต้องดังนั้นจึงเป็นการวัดความผิดที่ 'เข้มงวด' มาก ฟังก์ชันต้นทุนจะคำนวณค่าปรับเฉลี่ยในตัวอย่างการฝึกอบรมทั้งหมด
ตอนนี้เราเห็นแล้วว่าเป้าหมายของเราคือการค้นหา และ
สำหรับตัวทำนายของเรา
h(x)
ดังนั้นฟังก์ชันต้นทุนของเรา มีขนาดเล็กที่สุด เราเรียกพลังของแคลคูลัสเพื่อทำสิ่งนี้ให้สำเร็จ
พิจารณาพล็อตต่อไปนี้ของฟังก์ชันต้นทุนสำหรับปัญหา Machine Learning โดยเฉพาะ:
ที่นี่เราสามารถดูต้นทุนที่เกี่ยวข้องกับมูลค่าต่างๆของ และ
. เราจะเห็นว่ากราฟมีรูปทรงของชามเล็กน้อย ก้นชามแสดงถึงต้นทุนที่ต่ำที่สุดที่ผู้ทำนายของเราสามารถให้เราได้ตามข้อมูลการฝึกอบรมที่กำหนด เป้าหมายคือ 'กลิ้งลงเขา' และค้นหา
และ
ตรงกับประเด็นนี้
นี่คือสิ่งที่แคลคูลัสเข้ามาในบทแนะนำการเรียนรู้ของเครื่องนี้ เพื่อให้คำอธิบายนี้สามารถจัดการได้ฉันจะไม่เขียนสมการที่นี่ แต่โดยพื้นฐานแล้วสิ่งที่เราทำคือการไล่ระดับสีของ ซึ่งเป็นคู่ของอนุพันธ์ของ
(หนึ่งครั้ง
และอีกครั้ง
). การไล่ระดับสีจะแตกต่างกันสำหรับค่าต่างๆของ
และ
และบอกให้เราทราบว่า“ ทางลาดชันคืออะไร” และโดยเฉพาะอย่างยิ่ง“ ทางลง” สำหรับสิ่งเหล่านี้
s. ตัวอย่างเช่นเมื่อเราเสียบค่าปัจจุบันของเราเป็น
ในการไล่ระดับสีอาจบอกเราว่าการเพิ่มเข้าไปเล็กน้อย
และลบออกเล็กน้อย
จะพาเราไปในทิศทางของพื้นหุบเขาฟังก์ชันต้นทุน ดังนั้นเราจึงเพิ่มเล็กน้อย
และลบออกเล็กน้อย
และ voila! อัลกอริทึมการเรียนรู้ของเราเสร็จสิ้นไปแล้วหนึ่งรอบ ตัวทำนายที่อัปเดตของเรา h (x) =
+
x จะให้คำทำนายที่ดีขึ้นกว่าเดิม ตอนนี้เครื่องของเราฉลาดขึ้นเล็กน้อย
กระบวนการนี้สลับระหว่างการคำนวณการไล่ระดับสีปัจจุบันและการอัปเดต s จากผลลัพธ์เรียกว่า การไล่ระดับสี .
ซึ่งครอบคลุมทฤษฎีพื้นฐานที่เกี่ยวข้องกับระบบ Machine Learning ส่วนใหญ่ภายใต้การดูแล แต่แนวคิดพื้นฐานสามารถประยุกต์ใช้ได้หลายวิธีขึ้นอยู่กับปัญหาในมือ
ภายใต้ ML ภายใต้การดูแลมีสองประเภทย่อยที่สำคัญ ได้แก่ :
ปรากฎว่าทฤษฎี Machine Learning ที่เป็นรากฐานนั้นเหมือนกันมากหรือน้อย ความแตกต่างที่สำคัญคือการออกแบบตัวทำนาย h(x)
และการออกแบบฟังก์ชันต้นทุน .
จนถึงตอนนี้ตัวอย่างของเราได้เน้นไปที่ปัญหาการถดถอยดังนั้นตอนนี้เรามาดูตัวอย่างการจัดหมวดหมู่กัน
นี่คือผลการศึกษาการทดสอบคุณภาพคุกกี้ซึ่งตัวอย่างการฝึกอบรมทั้งหมดได้รับการระบุว่าเป็น 'คุกกี้ที่ดี' (h(x)
) เป็นสีน้ำเงินหรือ 'คุกกี้ที่ไม่ดี' (y = 1
) เป็นสีแดง
ในการจัดหมวดหมู่ตัวทำนายการถดถอยไม่มีประโยชน์มากนัก สิ่งที่เรามักต้องการคือตัวทำนายที่ทำให้เดาได้ระหว่าง 0 ถึง 1 ในตัวจำแนกคุณภาพของคุกกี้การคาดคะเน 1 จะแสดงถึงการคาดเดาอย่างมั่นใจว่าคุกกี้นั้นสมบูรณ์แบบและน่ารับประทานที่สุด การคาดคะเน 0 แสดงถึงความมั่นใจอย่างสูงว่าคุกกี้สร้างความลำบากใจให้กับอุตสาหกรรมคุกกี้ ค่าที่อยู่ในช่วงนี้แสดงถึงความเชื่อมั่นที่น้อยลงดังนั้นเราอาจออกแบบระบบของเราให้การคาดคะเน 0.6 หมายถึง“ ผู้ชายนั่นเป็นการโทรที่ยาก แต่ฉันจะไปด้วยใช่คุณขายคุกกี้ได้” ในขณะที่ค่าตรง ตรงกลางที่ 0.5 อาจแสดงถึงความไม่แน่นอนทั้งหมด นี่ไม่ใช่วิธีการกระจายความเชื่อมั่นในลักษณนามเสมอไป แต่เป็นการออกแบบที่ใช้กันทั่วไปและใช้งานได้ตามวัตถุประสงค์ของภาพประกอบของเรา
ปรากฎว่ามีฟังก์ชันที่ดีที่จับพฤติกรรมนี้ได้ดี เรียกว่า ฟังก์ชัน sigmoid , y = 0
และจะมีลักษณะดังนี้:
g(z)
คือการแสดงปัจจัยนำเข้าและค่าสัมประสิทธิ์ของเราเช่น:
เพื่อให้ตัวทำนายของเรากลายเป็น:
สังเกตว่าฟังก์ชัน sigmoid จะแปลงเอาต์พุตของเราให้อยู่ในช่วงระหว่าง 0 ถึง 1
ตรรกะเบื้องหลังการออกแบบฟังก์ชันต้นทุนยังแตกต่างกันในการจัดประเภท เราถามอีกครั้งว่า“ การเดาผิดหมายความว่าอย่างไร” และคราวนี้หลักการง่ายๆก็คือถ้าการเดาถูกต้องเป็น 0 และเราเดา 1 เราก็ผิดทั้งหมดและผิดอย่างสิ้นเชิงและในทางกลับกัน เนื่องจากคุณไม่สามารถผิดมากกว่าผิดอย่างแน่นอนโทษในกรณีนี้จึงมีมาก อีกวิธีหนึ่งถ้าการเดาถูกต้องคือ 0 และเราเดาเป็น 0 ฟังก์ชันต้นทุนของเราไม่ควรเพิ่มต้นทุนใด ๆ ในแต่ละครั้งที่เกิดเหตุการณ์นี้ หากเดาถูก แต่เราไม่มั่นใจอย่างสมบูรณ์ (เช่น z
แต่ y = 1
) สิ่งนี้ควรมาพร้อมกับค่าใช้จ่ายเล็กน้อยและหากการคาดเดาของเราผิด แต่เราไม่มั่นใจอย่างสมบูรณ์ (เช่น h(x) = 0.8
แต่ y = 1
) สิ่งนี้ควรมาพร้อมกับต้นทุนที่สำคัญ แต่ไม่มากเท่ากับว่าเราคิดผิดอย่างสิ้นเชิง
ลักษณะการทำงานนี้ถูกจับโดยฟังก์ชันบันทึกเช่น:
อีกครั้งฟังก์ชันต้นทุน ทำให้เรามีต้นทุนโดยเฉลี่ยจากตัวอย่างการฝึกอบรมทั้งหมดของเรา
ดังนั้นที่นี่เราได้อธิบายวิธีการทำนาย h(x) = 0.3
และฟังก์ชันต้นทุน ความแตกต่างระหว่างการถดถอยและการจำแนกประเภท แต่การไล่ระดับสียังคงทำงานได้ดี
ตัวทำนายการจำแนกสามารถมองเห็นได้โดยการวาดเส้นแบ่งเขตแดน นั่นคืออุปสรรคที่การคาดการณ์เปลี่ยนจาก 'ใช่' (การคาดการณ์ที่มากกว่า 0.5) เป็น 'ไม่ใช่' (การคาดการณ์ที่น้อยกว่า 0.5) ด้วยระบบที่ออกแบบมาอย่างดีข้อมูลคุกกี้ของเราสามารถสร้างขอบเขตการจัดหมวดหมู่ที่มีลักษณะดังนี้:
ตอนนี้เป็นเครื่องที่รู้เรื่องคุกกี้แล้ว!
การอภิปรายเกี่ยวกับ Machine Learning จะไม่สมบูรณ์หากไม่มีการกล่าวถึงอย่างน้อย โครงข่ายประสาท . ตาข่ายประสาทไม่เพียง แต่นำเสนอเครื่องมือที่ทรงพลังอย่างยิ่งในการแก้ปัญหาที่ยากลำบากเท่านั้น แต่ยังให้คำแนะนำที่น่าสนใจเกี่ยวกับการทำงานของสมองของเราเองและความเป็นไปได้ที่น่าสนใจสำหรับวันหนึ่งในการสร้างเครื่องจักรอัจฉริยะอย่างแท้จริง
โครงข่ายประสาทเทียมเหมาะอย่างยิ่งกับโมเดลแมชชีนเลิร์นนิงที่จำนวนอินพุตมีขนาดมหึมา ค่าใช้จ่ายในการคำนวณในการจัดการปัญหาดังกล่าวนั้นมากเกินไปสำหรับประเภทของระบบที่เราได้กล่าวไว้ข้างต้น อย่างไรก็ตามตามที่ปรากฎเครือข่ายประสาทเทียมสามารถปรับแต่งได้อย่างมีประสิทธิภาพโดยใช้เทคนิคที่คล้ายคลึงกับการไล่ระดับสีในหลักการอย่างมาก
การอภิปรายอย่างละเอียดเกี่ยวกับโครงข่ายประสาทเทียมอยู่นอกเหนือขอบเขตของบทช่วยสอนนี้ แต่ฉันขอแนะนำให้ลองดูไฟล์ โพสต์ก่อนหน้า ในเรื่อง
โดยทั่วไปการเรียนรู้ของเครื่องที่ไม่ได้รับการดูแลจะได้รับมอบหมายให้ค้นหาความสัมพันธ์ภายในข้อมูล ไม่มีตัวอย่างการฝึกอบรมที่ใช้ในกระบวนการนี้ แต่ระบบจะได้รับชุดข้อมูลและมอบหมายให้ค้นหารูปแบบและความสัมพันธ์ในนั้น ตัวอย่างที่ดีคือการระบุกลุ่มเพื่อนที่แน่นแฟ้นในข้อมูลโซเชียลเน็ตเวิร์ก
อัลกอริทึมการเรียนรู้ของเครื่องที่ใช้ในการทำสิ่งนี้แตกต่างจากที่ใช้สำหรับการเรียนรู้ภายใต้การดูแลเป็นอย่างมากและหัวข้อนี้ก็เป็นประโยชน์ต่อโพสต์ อย่างไรก็ตามสำหรับสิ่งที่ต้องเคี้ยวในระหว่างนี้ลองดูที่ อัลกอริทึมการจัดกลุ่ม เช่น k- หมายถึง และยังตรวจสอบ การลดขนาด ระบบต่างๆเช่น การวิเคราะห์องค์ประกอบหลักการ . ก่อนหน้านี้ของเรา โพสต์บนข้อมูลขนาดใหญ่ กล่าวถึงหัวข้อเหล่านี้จำนวนมากโดยละเอียดเช่นกัน
เราได้กล่าวถึงทฤษฎีพื้นฐานที่เกี่ยวข้องกับสาขาการเรียนรู้ของเครื่องที่นี่แล้ว แต่แน่นอนว่าเราแทบจะไม่มีรอยขีดข่วนบนพื้นผิว
โปรดทราบว่าในการประยุกต์ใช้ทฤษฎีที่มีอยู่ในบทนำนี้กับตัวอย่างการเรียนรู้ของเครื่องในชีวิตจริงจำเป็นต้องมีความเข้าใจที่ลึกซึ้งยิ่งขึ้นเกี่ยวกับหัวข้อที่กล่าวถึงในที่นี้ มีรายละเอียดปลีกย่อยและข้อผิดพลาดมากมายใน ML และหลายวิธีที่จะทำให้หลงทางโดยสิ่งที่ดูเหมือนจะเป็นเครื่องคิดที่ปรับแต่งมาอย่างดี เกือบทุกส่วนของ ทฤษฎีพื้นฐาน สามารถเล่นและเปลี่ยนแปลงได้ไม่รู้จบและผลลัพธ์มักจะน่าสนใจ หลายคนเติบโตเป็นสาขาการศึกษาใหม่ทั้งหมดที่เหมาะกับปัญหาเฉพาะ
เห็นได้ชัดว่า Machine Learning เป็นเครื่องมือที่ทรงพลังอย่างไม่น่าเชื่อ ในอีกไม่กี่ปีข้างหน้าสัญญาว่าจะช่วยแก้ปัญหาเร่งด่วนที่สุดของเรารวมทั้งเปิดโลกทัศน์ใหม่ ๆ สำหรับ บริษัท วิทยาศาสตร์ข้อมูล . ความต้องการวิศวกร Machine Learning มี แต่จะเติบโตอย่างต่อเนื่องมอบโอกาสที่เหลือเชื่อในการเป็นส่วนหนึ่งของสิ่งที่ยิ่งใหญ่ ฉันหวังว่าคุณจะพิจารณาลงมือทำ!
บทความนี้เน้นเนื้อหาที่สอนโดยศาสตราจารย์สแตนฟอร์ด ดร. แอนดริวอึ้ง ใน หลักสูตร Machine Learning ฟรีและเปิดกว้าง . หลักสูตรนี้ครอบคลุมทุกสิ่งที่กล่าวถึงในบทความนี้อย่างเจาะลึกและให้คำแนะนำที่เป็นประโยชน์มากมายสำหรับผู้ปฏิบัติงาน ML ฉันไม่สามารถแนะนำหลักสูตรนี้ได้มากพอสำหรับผู้ที่สนใจจะสำรวจสาขาที่น่าสนใจนี้เพิ่มเติม
ที่เกี่ยวข้อง:การเรียนรู้เชิงลึกเป็นวิธีการเรียนรู้ของเครื่องที่อาศัยเครือข่ายประสาทเทียมทำให้ระบบคอมพิวเตอร์สามารถเรียนรู้โดยใช้ตัวอย่าง ในกรณีส่วนใหญ่อัลกอริทึมการเรียนรู้เชิงลึกจะขึ้นอยู่กับรูปแบบข้อมูลที่พบในระบบประสาททางชีววิทยา
ตามที่อธิบายโดย Arthur Samuel Machine Learning เป็น 'สาขาวิชาที่ช่วยให้คอมพิวเตอร์สามารถเรียนรู้ได้โดยไม่ต้องตั้งโปรแกรมไว้อย่างชัดเจน'
Artificial Intelligence (AI) เป็นคำกว้าง ๆ ที่ใช้อธิบายระบบที่สามารถตัดสินใจบางอย่างได้ด้วยตัวเอง Machine Learning (ML) เป็นหัวข้อเฉพาะในเวที AI ที่กว้างขึ้นโดยอธิบายถึงความสามารถของเครื่องจักรในการปรับปรุงความสามารถโดยการฝึกฝนงานหรือสัมผัสกับชุดข้อมูลขนาดใหญ่
แมชชีนเลิร์นนิงต้องใช้ความทุ่มเทและฝึกฝนอย่างมากในการเรียนรู้เนื่องจากมีความซับซ้อนที่ละเอียดอ่อนมากมายที่เกี่ยวข้องในการตรวจสอบให้แน่ใจว่าเครื่องของคุณเรียนรู้สิ่งที่ถูกต้องและไม่ใช่สิ่งที่ผิด หลักสูตรออนไลน์ที่ยอดเยี่ยมสำหรับ Machine Learning คือหลักสูตร Coursera ของ Andrew Ng
การฟิตติ้งมากเกินไปเป็นผลมาจากการเน้นอัลกอริทึมการเรียนรู้ของเครื่องอย่างใกล้ชิดเกินไปกับข้อมูลการฝึกอบรมจนไม่ได้รับการสรุปโดยทั่วไปเพียงพอที่จะประมวลผลข้อมูลใหม่ได้อย่างถูกต้อง เป็นตัวอย่างของเครื่องจักรที่ 'เรียนรู้สิ่งที่ผิด' และมีความสามารถในการตีความข้อมูลใหม่ได้อย่างถูกต้องน้อยลง
แบบจำลองการเรียนรู้ของเครื่องคือชุดของสมมติฐานเกี่ยวกับลักษณะพื้นฐานของข้อมูลที่จะได้รับการฝึกฝน แบบจำลองนี้ใช้เป็นพื้นฐานในการพิจารณาว่าอัลกอริทึมการเรียนรู้ของเครื่องควรเรียนรู้อะไร แบบจำลองที่ดีซึ่งทำให้สมมติฐานที่ถูกต้องเกี่ยวกับข้อมูลเป็นสิ่งจำเป็นสำหรับเครื่องจักรที่จะให้ผลลัพธ์ที่ดี