ต่อไปนี้ถูกรวบรวมจาก ปานกลาง สำหรับ The Fatherly Forumชุมชนของผู้ปกครองและผู้มีอิทธิพลที่มีข้อมูลเชิงลึกเกี่ยวกับงาน ครอบครัว และชีวิต หากคุณต้องการเข้าร่วมฟอรั่ม ส่งข้อความหาเราที่ [email protected].
เดือนที่แล้ว ฉันพยายาม การทดสอบ A/B เพื่อดูว่า "การรักษา" หรือพารามิเตอร์อินพุตที่แตกต่างกันอาจส่งผลให้ฝาแฝดของเรานอนหลับได้นานขึ้นอย่างไร และแน่นอนโดยพร็อกซีเรา จากสิ่งนี้ ฉันพบว่ารูปแบบการนอนค่อนข้างไม่แน่นอนและไม่พบอะไรมากที่สัมพันธ์กับการนอนหลับที่เพิ่มขึ้น เมื่อเวลาผ่านไปพวกเขาก็เริ่มมากขึ้นโดยธรรมชาติ อย่างไรก็ตาม ตอนนี้พวกเขามีอายุครบ 4 เดือนแล้ว พวกเขาได้เริ่มระยะการถดถอยของการนอนหลับที่พบได้บ่อยแต่ไม่ค่อยมีใครพูดถึง ฉันพบว่าตัวเองหมดหวังในการนอนหลับมากขึ้นอีกครั้ง ฉันเป็นคนหนึ่งที่แสดงความคิดเห็นในโพสต์ก่อนหน้าหรือไม่ "กำลังมองหาอะไรไม่ว่าจะนอนดึกแค่ไหน" ใช่. ใช่ฉันเป็น. ดังนั้นฉันจึงหันไปใช้เทคนิควิทยาการคอมพิวเตอร์อื่น การเรียนรู้ของเครื่อง
flickr / Matthew H.
แมชชีนเลิร์นนิงเป็นสาขาหนึ่งในวิทยาการคอมพิวเตอร์ที่ให้วิธีการ "สอน" คอมพิวเตอร์หรือโปรแกรมโดยไม่ให้คำแนะนำแยกกัน ในการเขียนโปรแกรมปกติ ฉันจะให้คอมพิวเตอร์เรียงลำดับคำสั่งเพื่อดำเนินการ โดยใส่ตรรกะไปที่ ตัดสินใจว่าจะทำอย่างไรโดยอิงจากข้อมูลเข้า แต่โปรแกรมไม่สามารถออกจากที่กำหนดไว้อย่างดีเหล่านี้ได้ ราง แม้ว่าคำอธิบายนี้จะฟังดูใกล้เคียงกับ
ต้องขอบคุณภูมิหลังด้านการบัญชีของภรรยาและบุคลิกภาพแบบ A ของเรา เรามีบันทึกโดยละเอียดเกี่ยวกับพฤติกรรมการกินและการนอนหลับของเด็กชาย จำสเปรดชีตนี้ได้ไหม
เมื่อใช้ข้อมูลนี้ ฉันออกเดินทางเพื่อค้นหาชุดค่าผสมที่เหมาะสมของพารามิเตอร์อินพุต ในกรณีนี้ ฉันดูจำนวนอาหารทั้งหมดที่บริโภคใน วัน เวลาให้อาหารครั้งสุดท้าย และปริมาณการให้อาหารครั้งสุดท้าย เพื่อกำหนดว่าอะไรจะทำให้นอนหลับตอนกลางคืนนานที่สุดสำหรับ เด็กชาย และเหนือสิ่งอื่นใด ฉันสามารถปล่อยให้คอมพิวเตอร์ทำงานหนักได้ นอกจากนี้ เรามีข้อมูลมากขึ้นเป็นสองเท่าของรูปแบบเหล่านี้ เพราะแน่นอนว่าเราไม่มีเด็กชายเพียงคนเดียว แต่มี 2 คน
flickr / Matthew Ephraim
มีไลบรารีที่ยอดเยี่ยมมากมายสำหรับการเรียนรู้ของเครื่องในภาษาการเขียนโปรแกรม แม้ว่าฉันจะใช้ Java และ Javascript เป็นหลักในการทำงาน แต่ฉันเลือก Python library sklearn เป็นI มีความคุ้นเคยกับ Python และดูเหมือนว่าจะเป็นแอปพลิเคชั่นที่สมบูรณ์แบบสำหรับการเขียนสคริปต์ที่ยืดหยุ่น ภาษา. มีบทช่วยสอนดีๆ มากมายสำหรับไลบรารีนี้และเอกสารประกอบที่ดีเช่นกัน
คุณสามารถหารหัสของฉันได้ที่ github ถ้าสนใจ.
การส่งออกข้อมูลที่เรารวบรวมจากสเปรดชีต ฉันดึงข้อมูลจุดข้อมูลเมื่อเดือนที่แล้ว เนื่องจากการเจริญเติบโตอย่างรวดเร็วและการเปลี่ยนแปลงของพัฒนาการของทารก ฉันรู้สึกว่าข้อมูลของหนึ่งเดือน — คูณกับทารก 2 คน — เป็นความสมดุลที่ดีระหว่างความใหม่และข้อมูลเพียงพอที่จะคาดการณ์ได้
นำมันมารวมกันและเข้ารหัสมัน
ฉันยังได้รับสถิติที่น่าสนใจอีกด้วย ซึ่งโดยเฉลี่ยแล้วเราให้อาหารเด็กผู้ชาย 27.5 ออนซ์ต่อ กลางวันให้เข้านอนบ่อยที่สุดเวลา 7:25 น. ให้อาหาร 5.22 ออนซ์ก่อนนอน และนอน 9 ชั่วโมง เฉลี่ย. นอกจากนี้ยังพบว่าเด็กชายนอนหลับมากกว่า 10 ชั่วโมง 75% ของเวลาทั้งหมด ก็ไม่เลวนะ. แต่ฉันรู้ว่าด้วยการทำงานมากกว่านี้ เราสามารถปรับปรุงสิ่งนี้ได้
เมื่อใช้ข้อมูลนี้ ฉันสามารถพล็อตแต่ละพารามิเตอร์เทียบกับเวลาพักเครื่องได้
คุณจะเห็นได้ว่าไม่มีความสัมพันธ์ที่ชัดเจนอยู่แล้ว อย่างน้อยก็เชิงเส้นตรงระหว่างสิ่งเหล่านี้ส่วนใหญ่ ความสัมพันธ์ที่ใกล้เคียงที่สุดคือความสัมพันธ์ระหว่างอาหารทั้งหมดกับจำนวนชั่วโมงในการนอนหลับโดยมีค่าผิดปกติจำนวนมาก อาหารมากขึ้นอย่างผิดปกติดูเหมือนจะส่งผลให้นอนหลับน้อยลง
Flickr / hegbar
อัลกอริธึมการเรียนรู้ของเครื่องมีหลายประเภท สิ่งเหล่านี้แบ่งออกเป็นประเภทเชิงเส้นและไม่เชิงเส้นเป็นส่วนใหญ่ ฉันนำข้อมูลมาและเรียกใช้ผ่านอัลกอริธึม 6 ตัวที่ใช้กันอย่างแพร่หลาย เพื่อดูว่าแต่ละอันจะได้รับความแม่นยำเพียงใด นี่คือผลลัพธ์
หรือในรูปแบบภาพเพิ่มเติม
ที่นี่ คุณจะเห็นว่า Support Vector Machine algo ทำงานได้ดีที่สุดเมื่อเทียบกับข้อมูล แม้ว่าช่วงจะกว้างมากและค่าเฉลี่ยก็ไม่ได้ดีไปกว่าช่วงอื่นๆ มากนัก ไม่มีแม้แต่ร้อยละ 50 ซึ่งค่อนข้างแย่สำหรับการทำนาย ทั้งหมดนี้เกิดจากลักษณะสุ่มหลอกของข้อมูล แม้จะได้ผลลัพธ์เช่นนั้น ฉันก็ตัดสินใจที่จะก้าวไปข้างหน้าโดยหวังว่าจะทำให้มีความเข้าใจอย่างถ่องแท้
เมื่อใช้ SVM ฉันฝึกอัลกอริทึมเกี่ยวกับข้อมูลที่ป้อนเข้า เมื่อใช้สิ่งนี้ ฉันสามารถคาดเดาได้ว่าเราจะได้นอนมากน้อยเพียงใดโดยพิจารณาจากปริมาณอาหารที่รับประทานในหนึ่งวัน เมื่อเรานำพวกเขาเข้านอน และปริมาณที่เราให้อาหารพวกมันในการให้อาหารครั้งสุดท้าย ตัวอย่างเช่น ให้ 28 ออนซ์ นอนตอน 7 ขวบ และให้ 6 ออนซ์ในการให้อาหารครั้งสุดท้ายนั้นจะทำให้นอนหลับได้ไม่ดีถึง 8 ชั่วโมง
บทสรุป
ด้วยอัลกอริทึมที่ได้รับการฝึกอบรมในขณะนี้ ฉันสามารถคาดเดาได้อย่างแน่นอนว่าเราจะนอนหลับได้มากเพียงใด ที่สำคัญกว่านั้น ฉันสามารถดูที่เส้นแนวโน้มสำหรับสิ่งเหล่านี้ และดูว่าพฤติกรรมประเภทใดที่นำไปสู่การนอนมากขึ้นเพื่อพยายามเพิ่มประสิทธิภาพ ตรงกันข้าม การเข้านอนเร็วขึ้นโดยกินอาหารน้อยลงและตลอดทั้งวันทำให้นอนหลับเพิ่มขึ้น อาจเป็นเพราะหลายปัจจัย แต่ทฤษฎีของฉันคืออาหารน้อยลงหมายถึงมีแก๊สน้อยลง กระเพาะอาหารหดตัวน้อยลงเมื่อหิว และดังนั้นการนอนหลับพักผ่อนมากขึ้น กี่ครั้งแล้วที่เจ้าควักไส้ออกมาแล้วตื่นมากลางดึกด้วยความหิวโหยอย่างประหลาด?
flickr / Dion Hinchcliffe
น่าเสียดาย เช่นเดียวกับการทดสอบ A/B ดูเหมือนว่าไม่มีใครป้อนข้อมูลโดยตรงอย่างเข้มงวดเกี่ยวกับโหมดสลีป ฉันเดาว่ามันมีคนค้นพบมันแล้วและทำเงินได้หลายล้าน เมื่อนำมารวมกันแล้ว แมชชีนเลิร์นนิงสามารถค้นหาแนวโน้มและความสัมพันธ์บางส่วนเหล่านี้ระหว่างตัวแปร ซึ่งนำไปสู่ เพื่อให้ได้ผลลัพธ์ที่ดีกว่าและแม่นยำกว่าการทดสอบ A/B หรือการลองผิดลองถูก แต่ผลลัพธ์ก็ยังห่างไกลจากความยอดเยี่ยม จากข้อมูลนี้ อย่างมากที่สุดฉันจะได้รับอัตราการคาดการณ์ที่แม่นยำถึง 41 เปอร์เซ็นต์ นั่นหมายถึงบ่อยครั้งที่พวกเขาผิด เนื่องจากการพัฒนาที่เปลี่ยนแปลงบ่อยครั้งและแม้กระทั่งความแตกต่างระหว่างเด็กๆ จึงเป็นเรื่องยากที่จะนำข้อมูลไปใช้กับพวกเขา อีกครั้ง ขนาดตัวอย่างที่ใหญ่ขึ้นอาจช่วยได้ แต่เราไม่ได้มุ่งเป้าไปที่แฝดสามในเร็วๆ นี้
ถึงกระนั้น ผลลัพธ์เหล่านี้ก็ยังดีกว่าไม่มีอะไรเลย และช่วยแสดงให้เห็นถึงคำมั่นสัญญาในด้านการเรียนรู้ของเครื่องและวิทยาศาสตร์ข้อมูล ฉันชอบที่จะตัดสินใจจากข้อมูลมากกว่าความรู้สึกของลำไส้และข้อมูลนี้แม้เพียงการยืนยันการคาดเดาของฉันทำให้ฉันรู้สึกดีขึ้นเกี่ยวกับวิธีการเลี้ยงดูของเรา
Tyler Lund เป็นบรรณาธิการของ พ่อวิ่งหนี.