เครื่องจักรอัตโนมัติเรียนรู้ที่จะฝันหรือไม่?


12

เมื่อฉันค้นพบการเรียนรู้ของเครื่องฉันเห็นเทคนิคที่น่าสนใจต่าง ๆ เช่น:

  • โดยอัตโนมัติขั้นตอนวิธีการปรับแต่งด้วยเทคนิคเช่นgrid search,
  • ได้รับผลลัพธ์ที่ถูกต้องมากขึ้นผ่านการรวมกันของขั้นตอนวิธีการที่แตกต่างกันของ "พิมพ์" เหมือนกันว่าboosting,
  • ได้รับผลลัพธ์ที่ถูกต้องมากขึ้นผ่านการรวมกันของขั้นตอนวิธีการที่แตกต่างกัน ( แต่ไม่ใช่ชนิดเดียวกันของอัลกอริทึม) ว่าstacking,
  • และอาจมีอีกมากที่ฉันยังต้องค้นพบ ...

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

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


1
อาจจะไม่ได้จนกว่าจะมี AI ที่แข็งแกร่ง
gung - Reinstate Monica

1
เกี่ยวกับการปรับแต่งอัตโนมัติที่คุณอาจจะสนใจในการอ่านเกี่ยวกับHyperparameter ค้นหาในเครื่องการเรียนรู้ การค้นหากริดเป็นวิธีที่น่ากลัวในการเพิ่มประสิทธิภาพพารามิเตอร์
Marc Claesen

2
อย่าให้คุณ มีการใช้งานมากการจัดรูปแบบ ?
Sycorax พูดว่า Reinstate Monica

2
มีผลิตภัณฑ์ที่อ้างว่าพวกเขาทำในสิ่งที่คุณอธิบายเช่นมีลูกแก้ว โดยส่วนตัวฉันไม่เชื่อใจพวกเขา แต่อย่างที่คุณเขียน: พวกเขาทำงานได้ดีกว่าคนที่ไม่มีเงื่อนงำเกี่ยวกับสถิติ
Aksakal

1
สำหรับการพยากรณ์auto.arima(จากforecastห้องสมุด) อาจดีกว่ามนุษย์ - Rob Hyndman พูดถึงหลายครั้งในการนำเสนอของเขา ดังนั้นจึงมีบางพื้นที่ที่ "การเรียนรู้อัตโนมัติ" บางประเภทถูกนำไปใช้กับความสำเร็จ
ทิม

คำตอบ:


7

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

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

ขออภัยสำหรับคำตอบที่อ้างอิงความเห็นในสิ่งที่อาจปิดได้ดีเป็นคำถามตามความคิดเห็น


แก้ไขเพื่อตอบคำถามที่แก้ไขแล้ว:

เรามีหนึ่งคอลัมน์ที่มีข้อมูลหมวดหมู่ลองเรียกมันว่าและเราต้องการทำนายจากข้อมูลตัวเลขนั่นคือหุ่นหรือข้อมูลตัวเลขจริงyX

ดูเหมือนว่าบางสิ่งที่ป่าสุ่มนั้นดีพอสมควร จากนั้นอีกครั้งอัลกอริทึม "วัตถุประสงค์ทั่วไป" เช่น RFs จะไม่มีทางเอาชนะอัลกอริธึมที่ปรับไปยังประเภทที่เฉพาะเจาะจงของรู้จักกันล่วงหน้าเช่นตัวเลขที่เขียนด้วยลายมือหรือความเสี่ยงเริ่มต้นเครดิตy


ฉันได้แก้ไขคำถามของฉันขอบคุณคุณมีส่วนแรก "รับสิ่งที่ป้อนและโยนฉันผล" และคำตอบของคุณคือลึกซึ้งและส่วนที่สอง "สำหรับคำถามประเภทเฉพาะและการจัดรูปแบบข้อมูลหาฉัน ผลลัพธ์".
Pholochtairze

ไม่แน่ใจว่าย่อหน้าสุดท้ายยังคงอยู่เนื่องจากความสำเร็จอันยิ่งใหญ่ของการเรียนรู้อย่างลึกซึ้งในปัญหาที่หลากหลาย วิธีการเหล่านี้มีวัตถุประสงค์ทั่วไปแน่นอน แต่พวกเขาเก็บบันทึกในโดเมนแอปพลิเคชันต่าง ๆ เช่นวิสัยทัศน์คอมพิวเตอร์และ NLP หนึ่งอาจยืนยันว่าสถาปัตยกรรมแตกต่างกันระหว่างงาน แต่ในระดับทฤษฎีเครือข่ายที่เชื่อมต่ออย่างเต็มที่จะทำงานอย่างน้อยดีเหมือนพูดเครือข่าย convolutional มันเป็นเพียงวิธีการฝึกอบรมที่เหมาะสมยังคงเข้าใจยาก
Marc Claesen

@MarcClaesen: ฉันจะบอกว่า "มันเป็นเพียงวิธีการฝึกอบรมที่เหมาะสมยังคงเข้าใจยาก" เป็นจุดที่คุณจะต้องใช้ความเชี่ยวชาญเฉพาะด้านในโดเมน
Stephan Kolassa

7

สิ่งที่คุณอธิบายมีอยู่แล้วในระดับหนึ่งตัวอย่างเช่นในAutoWEKAและกำลังทำการศึกษาใหม่ (เช่นความท้าทายเช่นAutoML ของ Chalearn )

โดยปกติจะถือว่าอยู่ในฟิลด์ย่อยของการเพิ่มประสิทธิภาพพารามิเตอร์ไฮเปอร์พารามิเตอร์ แพคเกจซอฟต์แวร์เช่นOptunity , HyperoptและParamILSสามารถใช้ในการเพิ่มประสิทธิภาพพารามิเตอร์อัตโนมัติสำหรับวิธีการที่กำหนดและเลือกวิธีการที่เหมาะสมที่สุด ดังกล่าวกล่าวว่าปัญหาการปรับให้เหมาะสมนั้นไม่สำคัญและมักใช้เวลานานในการรับแบบจำลองที่ดีที่สุดโดยอัตโนมัติ (หรือใกล้เคียง)

คุณสามารถค้นหาตัวอย่างของการใช้ Optunity เพื่อกำหนดอัลกอริทึมการเรียนรู้ที่ดีที่สุดโดยอัตโนมัติและเพิ่มประสิทธิภาพพารามิเตอร์ไฮเปอร์พารามิเตอร์ที่http://optunity.readthedocs.org/en/latest/notebooks/notebooks/sklearn-automated-classification.html


4

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

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

ประการที่สองคุณสมบัติด้านวิศวกรรมและการดึงคุณสมบัติเป็น 'ศิลปะ' ที่แท้จริงในการสร้างแบบจำลอง คำถามของคุณสมมติว่าชุดข้อมูลนั้นได้เตรียมไว้เรียบร้อยแล้ว แต่สิ่งที่คุณไม่ควรสันนิษฐานก็คือชุดข้อมูลเป็นการนำเสนอที่ดีที่สุดเท่าที่เป็นไปได้ของสิ่งที่คุณพยายามทำแบบจำลอง คำถามนี้เป็นคำถามเปิดเสมอ ในหลายกรณีที่ชุดข้อมูลมีความซับซ้อนคุณสามารถสร้างคุณสมบัติตลอดทั้งวัน แต่คุณมีความเสี่ยงที่จะเกิดเสียงดังขึ้นในอัลกอริทึม หากต้องการทราบว่าคุณลักษณะใดที่ควรเพิ่มคุณต้องทราบว่าคุณลักษณะใดที่เหมาะสมจากมุมมองเชิงสถิติและสิ่งใดที่เหมาะสมสำหรับมุมมองของผู้เชี่ยวชาญโดเมน

ด้วยเหตุผลทั้งสองนี้ฉันสรุปได้ว่าไม่คุณจะไม่สามารถหาอัลกอริทึมที่ค้นหาโมเดลที่ดีที่สุดโดยอัตโนมัติได้ นี่คือเหตุผลที่ฉันสงสัยผู้จำหน่ายซอฟต์แวร์ที่จะเปลี่ยนเครื่องมือที่จำเป็นสำหรับนักวิทยาศาสตร์ด้านข้อมูล

อย่างไรก็ตามหากคุณจำกัดความต้องการของคุณให้แคบลงเพื่อหาตัวแบบที่ดีที่สุดจากชุดตัวแบบคงที่โดยใช้พารามิเตอร์ไฮเปอร์ที่ดีที่สุดซึ่งคำว่า 'ดีที่สุด' ถูกกำหนดให้เป็นความแม่นยำเชิงทำนายขั้นสูงสุดในชุดฝึกอบรม

ลองดูcaretแพ็คเกจในRตัวอย่างของวิธีการปรับแต่งรุ่นโดยอัตโนมัติ caretใช้การค้นหากริดซึ่งมีข้อบกพร่องและจะสร้างเพียงหนึ่งโมเดลในแต่ละครั้ง อย่างไรก็ตามมีฟังก์ชั่นในการเปรียบเทียบแบบจำลองและตัวห่อหุ้มที่สะดวกสำหรับรายการรุ่นที่ยาวจากRแพ็คเกจที่แตกต่างกันมากมาย


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

ฉันเดาว่าฉันไม่เห็นว่า "ความรู้เดิมและสามัญสำนึกเฉพาะด้าน" สามารถปรับปรุงกระบวนการ ML ได้อย่างไรนอกจากช่วย (i) ค้นหาแบบจำลองที่ดีที่สุดและ (ii) ค้นหาคุณลักษณะที่ดีที่สุด ฉันพยายามแยกแยะระหว่างโมเดลจริงและโมเดล (ความแม่นยำสูงสุด) ที่เหมาะสมที่สุดกับย่อหน้าที่สองถึงย่อหน้าสุดท้าย
brandco

เพื่อเปิดเผยข้อบกพร่องที่เห็นได้ชัดในกระบวนการสร้างแบบจำลองเช่นฉลากที่ผิดพลาดและ / หรือการรั่วไหลของข้อมูล, วิธีจัดการกับข้อมูลที่หายไป, ระบุภารกิจการเรียนรู้จริง (+ ฟังก์ชั่นคะแนน / การสูญเสียที่เหมาะสม) และโดยทั่วไป รับความพยายามหลักในปัญหาการปฏิบัติทั้งหมดที่ฉันมีส่วนร่วมใน)
Marc Claesen

2

ขึ้นอยู่กับว่าคุณถามใคร

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

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


1

ไม่มันไม่ใช่ความฝัน เราได้นำสิ่งนี้ไปใช้ (การรวมกันของเทคนิคทั้งหมดที่คุณพูดถึงรวมถึงวงดนตรีซ้อนกัน) ในไลบรารีการเรียนรู้ของเครื่องH2O คุณสามารถอ่านเพิ่มเติมเกี่ยวกับมันและหาตัวอย่างรหัสในการวิจัยและ Python ที่นี่

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