วิธีการเลือกแบบจำลองการทำนายหลังจากการตรวจสอบความถูกต้องข้ามของ k-fold?


148

ฉันสงสัยว่าจะเลือกแบบจำลองการทำนายได้อย่างไรหลังจากทำการตรวจสอบความถูกต้องข้ามแบบ K-fold

นี่อาจเป็นประโยคที่เชื่องช้าดังนั้นให้ฉันอธิบายรายละเอียดเพิ่มเติม: เมื่อใดก็ตามที่ฉันรันการตรวจสอบความถูกต้องข้าม K-fold ฉันใช้ K ชุดย่อยของข้อมูลการฝึกอบรมและจบลงด้วย K โมเดลที่แตกต่างกัน

ฉันอยากรู้วิธีเลือกหนึ่งในรุ่น K เพื่อที่ฉันจะได้นำเสนอให้ใครบางคนและพูดว่า "นี่เป็นรุ่นที่ดีที่สุดที่เราสามารถผลิตได้"

ตกลงไหมที่จะเลือกรุ่นใดรุ่นหนึ่ง K? หรือมีแนวปฏิบัติที่ดีที่สุดบางประเภทที่เกี่ยวข้องเช่นการเลือกแบบจำลองที่ทำให้เกิดข้อผิดพลาดในการทดสอบค่ามัธยฐาน?


2
คุณอาจพบคำตอบในคำถามต่อไปนี้มีประโยชน์: stats.stackexchange.com/questions/2306/…
BGreene

คุณจะต้องทำซ้ำ CV 5 เท่า 100 ครั้งและเฉลี่ยผลลัพธ์เพื่อให้ได้ความแม่นยำที่เพียงพอ และคำตอบจาก @bogdanovist เป็นจุดที่ คุณสามารถได้รับความแม่นยำของการประมาณการความแม่นยำเท่าเดิมจาก bootstrap โดยมีโมเดลน้อยกว่า
Frank Harrell

@ Frank Harrell ทำไมคุณถึงพูดว่า 100 repetitions จำเป็น (ฉันมักจะใช้ 10 reps ใน 10 เท่า) นี่เป็นกฎง่ายๆเพราะ OP ไม่ได้ให้เฉพาะเจาะจงหรือไม่
BGreene

2
50

เกือบจะซ้ำกันทั้งหมดแน่นอน: stats.stackexchange.com/questions/11602พร้อมคำตอบมากมาย บางทีเธรดเหล่านี้ควรถูกผสาน แต่ฉันไม่แน่ใจในทิศทางใด ทั้งคู่ยอมรับคำตอบที่ดีมาก แต่อีกอันหนึ่งเก่ากว่าและมีจำนวนการดู / อัปโหลดมากขึ้นดังนั้นจึงควรรวมเข้ากับอันนี้
อะมีบา

คำตอบ:


200

ฉันคิดว่าคุณยังคงมีบางสิ่งที่ยังขาดความเข้าใจในจุดประสงค์ของการตรวจสอบข้าม

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

ดังนั้นเมื่อคุณทำการตรวจสอบความถูกต้องข้ามแบบ K-fold คุณกำลังทดสอบว่าแบบจำลองของคุณสามารถรับการฝึกอบรมจากข้อมูลบางส่วนได้ดีเพียงใดแล้วทำนายข้อมูลที่ไม่ได้เห็น เราใช้การตรวจสอบความถูกต้องแบบไขว้สำหรับสิ่งนี้เพราะหากคุณฝึกการใช้ข้อมูลทั้งหมดที่คุณมีคุณจะไม่เหลือการทดสอบ คุณสามารถทำได้เพียงครั้งเดียวพูดโดยใช้ข้อมูล 80% ในการฝึกอบรมและ 20% ในการทดสอบ แต่จะเกิดอะไรขึ้นถ้า 20% ที่คุณเลือกที่จะทดสอบเกิดขึ้นจะมีจุดต่าง ๆ ที่ง่ายมาก (หรือยากมาก) คาดการณ์ได้อย่างไร เราจะไม่เกิดขึ้นกับการประมาณการที่ดีที่สุดเท่าที่จะเป็นไปได้ของความสามารถของแบบจำลองในการเรียนรู้และทำนาย

เราต้องการใช้ข้อมูลทั้งหมด ดังนั้นเพื่อดำเนินการต่อตัวอย่างด้านบนของการแยก 80/20 เราจะทำการตรวจสอบข้ามแบบ 5 เท่าโดยการฝึกอบรมแบบจำลอง 5 ครั้งใน 80% ของข้อมูลและการทดสอบ 20% เรามั่นใจว่าจุดข้อมูลแต่ละจุดสิ้นสุดในชุดทดสอบ 20% หนึ่งครั้ง ดังนั้นเราจึงใช้ทุกจุดข้อมูลที่เราต้องมีส่วนร่วมในการทำความเข้าใจว่าแบบจำลองของเราทำงานได้ดีเพียงใดในการเรียนรู้จากข้อมูลบางส่วนและทำนายข้อมูลใหม่บางอย่าง

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

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

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


8
ฉันเห็นด้วยกับประเด็นนี้ทั้งหมดและคิดเกี่ยวกับการใช้ข้อมูลทั้งหมด ที่กล่าวว่าหากเราฝึกแบบจำลองสุดท้ายของเราโดยใช้ชุดข้อมูลทั้งหมดผลลัพธ์นี้จะไม่ทำให้เกิดการ overfitting และทำให้เกิดการคาดการณ์ในอนาคตหรือไม่
Berk U.

19
No! การทำ overfitting นั้นเกี่ยวข้องกับความซับซ้อนของโมเดล แต่ก็ไม่ได้เกี่ยวข้องกับปริมาณข้อมูลที่ใช้ในการฝึกอบรมโมเดล ความซับซ้อนของโมเดลเกี่ยวข้องกับวิธีที่โมเดลใช้ไม่ใช่ค่าที่พารามิเตอร์ใช้ ตัวอย่างเช่นจะรวม x ^ 2 co-efficients เช่นเดียวกับ x co-efficients ในโมเดลการถดถอย
Bogdanovist

17
@ บ็อกดาโนวิสต์: ฉันค่อนข้างจะบอกว่าการใส่ถุงมากเกินไปเกี่ยวข้องกับกรณีการฝึกน้อยเกินไปสำหรับโมเดลที่ซับซ้อนเกินไป ดังนั้นจึงต้องเกี่ยวข้องกับจำนวนกรณีการฝึกอบรม แต่การมีกรณีฝึกอบรมเพิ่มเติมจะช่วยลดความเสี่ยงของการเกิด overfitting (สำหรับความซับซ้อนของโมเดลคงที่)
cbeleites

3
@Bogdanovist For that we want to use all the data we have to come up with the best model possible.- เมื่อทำการค้นหากริดด้วยการตรวจสอบความถูกต้องของ K-fold นั่นหมายความว่าคุณจะใช้ params ที่ดีที่สุดที่ค้นพบโดยการค้นหากริดและเหมาะกับรูปแบบของข้อมูลการฝึกอบรมทั้งหมดแล้วประเมินประสิทธิภาพการทำงานทั่วไปโดยใช้ชุดทดสอบ
อรุณ

4
@ arun หากคุณใช้การตรวจสอบความถูกต้องแบบกากบาท k-fold และเลือกแบบจำลองที่ดีที่สุดด้วยพารามิเตอร์ที่ดีที่สุด & พารามิเตอร์แบบไฮเปอร์จากนั้นหลังจากติดตั้งแบบจำลองสุดท้ายผ่านชุดฝึกอบรมคุณไม่จำเป็นต้องตรวจสอบประสิทธิภาพอีกครั้งโดยใช้ ชุดทดสอบ นี่เป็นเพราะคุณได้ตรวจสอบแล้วว่าแบบจำลองที่มีพารามิเตอร์ที่ระบุทำงานอย่างไรกับข้อมูลที่มองไม่เห็น
Sandeep S. Sandhu

29

ผมขอเพิ่มอีกสองสามคะแนนนอกเหนือจากคำตอบของ Bogdanovist

k

ขณะนี้มีข้อสมมติฐานบางอย่างในกระบวนการนี้


  • k

  • k
    Nk1kkk

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

ความแตกต่างในประสิทธิภาพการทำงานที่สังเกตได้เกิดจากความแปรปรวนสองแหล่ง

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

คุณอาจต้องการดูกระดาษของเรามันเป็นเรื่องเกี่ยวกับการจัดหมวดหมู่ที่มักจะเลวร้ายยิ่งกว่าการถดถอย อย่างไรก็ตามมันแสดงให้เห็นว่าแหล่งที่มาของความแปรปรวนและอคติเหล่านี้เพิ่มขึ้นอย่างไร
Beleites, C. และ Neugebauer, U. และ Bocklitz, T. และ Krafft, C. และ Popp, J: การวางแผนขนาดตัวอย่างสำหรับแบบจำลองการจำแนกประเภท Anal Chim Acta, 2013, 760, 25-33
DOI: 10.1016 / j.aca.2012.11.007
ต้นฉบับที่ยอมรับใน arXiv: 1211.1323


คุณและ Bogdanovist ไม่เห็นด้วยเมื่อคุณพูดpicking "the best" of the surrogate models is a data-driven optimization, you'd need to validate (measure performance) this picked model with new unknown data. The test set within this cross validation is not independent as it was used to select the surrogate model.และเขาบอกว่าBut once we have used cross-validation to select the better performing model, we train that model (whether it be the linear regression or the neural network) on all the data.นี่เป็นเรื่องธรรมดาและเป็นสิ่งสำคัญที่จะต้องระบุวิธีการมาตรฐาน
jpcgandre

โดยเฉพาะอย่างยิ่งสำหรับชุดข้อมูลขนาดเล็กซึ่งบางทีการทิ้งข้อมูลจาก CV นั้นเป็นไปไม่ได้ แต่ความเสี่ยงของการ overfitting แบบจำลองของคุณก็สูงเช่นกัน! จำเป็นต้องมีการอ้างอิงเพื่อชี้แจงปัญหานี้
jpcgandre

5
@jpcgandre: ฉันไม่เห็นความขัดแย้งใด ๆ Bogdanovist อธิบายถึงวิธีการคำนวณรูปแบบการเลือกจริงจากพารามิเตอร์ไฮเปอร์ซึ่งถูกเลือกผ่านการตรวจสอบความถูกต้องของข้อมูลและฉันได้เพิ่มว่าหลังจากการเลือกดังกล่าวแบบจำลองต้องผ่านการตรวจสอบในระดับอื่น กล่าวอีกนัยหนึ่งเช่นการออกแบบการตรวจสอบที่ซ้อนกัน: ลูปการตรวจสอบภายในสำหรับการเลือกพารามิเตอร์ไฮเปอร์, ลูปภายนอกสำหรับการทดสอบรุ่นที่เลือก (ถ้าคุณมีกรณีเพียงพอคุณสามารถไปสำหรับชุดทดสอบอิสระ)
cbeleites

5
ด้านการตรวจสอบด้านนอก / การตั้งค่าสำหรับการตรวจสอบข้ามที่รู้จักกันในการตรวจสอบข้ามคู่หรือซ้อนกันผมเคยเห็นมันยังเป็นชื่อการตรวจสอบรูปแบบข้าม ( dx.doi.org/10.1016/j.chemolab.2006.04.021 ) ด้วยชุดการทดสอบอิสระมันสอดคล้องกับการแยกในสามชุด: การตรวจสอบความถูกต้องของรถไฟ / (การเพิ่มประสิทธิภาพ) / การทดสอบ (= การตรวจสอบความถูกต้องสุดท้าย) หากคุณมีบางกรณีที่คุณไม่สามารถทิ้งข้อมูลไว้สำหรับ CV ระดับที่สองฉันขอยืนยันว่าคุณควรแก้ไขพารามิเตอร์หลายมิติด้วยวิธีอื่นแทนที่จะพยายามปรับให้เหมาะสมโดยการเลือกชุดพารามิเตอร์ไฮเปอร์พารามิเตอร์ชุดใดชุดหนึ่ง
cbeleites

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

11

ฉันพบบทความที่ยอดเยี่ยมนี้วิธีการฝึกโมเดลการเรียนรู้ของเครื่องจักรขั้นสุดท้ายมีประโยชน์มากในการกำจัดความสับสนทั้งหมดที่ฉันมีเกี่ยวกับการใช้ CV ในการเรียนรู้ของเครื่อง

โดยทั่วไปเราใช้ CV (เช่น 80/20 Split, k-fold, ฯลฯ ) เพื่อประเมินว่ากระบวนการทั้งหมดของคุณดีแค่ไหน (รวมถึงวิศวกรรมข้อมูลการเลือกรุ่น (เช่นอัลกอริทึม) และพารามิเตอร์ไฮเปอร์ ฯลฯ ) จะทำงานในสิ่งที่มองไม่เห็นในอนาคต ข้อมูล. และเมื่อคุณเลือก "ขั้นตอน" ที่ชนะเลิศแล้วโมเดลที่ได้รับการติดตั้งจาก CV ได้ตอบสนองวัตถุประสงค์ของพวกเขาแล้วและสามารถละทิ้งได้ จากนั้นคุณใช้ "ขั้นตอน" ที่ชนะและฝึกอบรมโมเดลสุดท้ายของคุณโดยใช้ชุดข้อมูลทั้งหมด


1

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

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

ตัวอย่างเช่นคุณเลือก LinearRegression algo และดำเนินการสองอย่างในชุดฝึกอบรมเดียวกัน: หนึ่งชุดที่มีการตรวจสอบความถูกต้องไขว้ 10 เท่าและอีกการทดสอบ 20 เท่า รูปแบบการถดถอย (หรือตัวจําแนก) ควรจะเหมือนกัน แต่ค่าสัมประสิทธิ์สหสัมพันธ์และข้อผิดพลาดกำลังสองสัมพัทธ์ของรูทต่างกัน

ด้านล่างนี้เป็นสองวิ่งสำหรับการตรวจสอบข้าม 10 เท่าและ 20 เท่าด้วย weka

วิ่งครั้งแรกด้วย 10 เท่า

=== Run information ===
Test mode:    10-fold cross-validation
...
=== Classifier model (full training set) ===


Linear Regression Model  <---- This model is the same

Date = 844769960.1903 * passenger_numbers -711510446549.7296

Time taken to build model: 0 seconds

=== Cross-validation ===  <---- Hereafter produced different metrics
=== Summary ===

Correlation coefficient                  0.9206
Mean absolute error                35151281151.9807
Root mean squared error            42707499176.2097
Relative absolute error                 37.0147 %
Root relative squared error             38.9596 %
Total Number of Instances              144     

วิ่งครั้งที่สอง 20 ครั้ง

=== Run information ===
...
Test mode:    20-fold cross-validation

=== Classifier model (full training set) ===


Linear Regression Model   <---- This model is the same

Date = 844769960.1903 * passenger_numbers -711510446549.7296

Time taken to build model: 0 seconds

=== Cross-validation ===  <---- Hereafter produced different metrics
=== Summary ===

Correlation coefficient                  0.9203
Mean absolute error                35093728104.8746
Root mean squared error            42790545071.8199
Relative absolute error                 36.9394 %
Root relative squared error             39.0096 %
Total Number of Instances              144     

0

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

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

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


0

ทำไมเราถึงใช้การตรวจสอบความถูกต้องข้ามแบบ k-fold?

การตรวจสอบข้ามเป็นวิธีการประเมินทักษะของวิธีการในข้อมูลที่มองไม่เห็น เช่นเดียวกับการใช้ตัวแยกการทดสอบรถไฟ

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

  • เราสามารถคำนวณค่าเฉลี่ยของมาตรการเหล่านี้เพื่อรับทราบว่ากระบวนการทำงานได้ดีเพียงใดโดยเฉลี่ย
  • เราสามารถคำนวณค่าเบี่ยงเบนมาตรฐานของมาตรการเหล่านี้เพื่อรับทราบว่าทักษะของกระบวนการคาดว่าจะแตกต่างกันในทางปฏิบัติ

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

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

การอ้างอิง

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