โปรแกรมเมอร์กำลังมองหาที่จะบุกเข้าไปในสนามการเรียนรู้ของเครื่อง


19

ฉันเป็นนักพัฒนาซอฟต์แวร์ (ส่วนใหญ่เป็น. NET และ Python ประมาณ 5 ปี) ฉันจะทำอะไรได้บ้างเพื่อช่วยให้ฉันได้งานในสาขาการเรียนรู้ของเครื่องหรืออะไรก็ตามที่จะทำให้ฉันเริ่มต้นในสาขานั้น? การเรียนระดับปริญญาโทถือเป็นเรื่องยากหรือไม่?


2
คำถามนี้ดูเหมือนคำถามชุมชนวิกิ
Andrew

คำตอบ:


16

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

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

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

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

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

มีทรัพยากรมากมายและน่าสนใจอย่างมากฉันขอให้คุณโชคดี!

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


(+1) คำแนะนำที่ดีโดยเฉพาะอย่างยิ่งเกี่ยวกับ ML-class ความรู้ / งานจริง> ใบรับรองและบล็อก
steffen

บล็อกมืออาชีพฟังดูเหมือนเป็นความคิดที่ดี!
Rishi Dua

"โลกธุรกิจดูเหมือนจะชอบผู้คนที่สามารถทำสิ่งต่าง ๆ ได้" - ใช่และสิ่งนี้ใช้ได้แม้กับกระดาษแผ่นหนึ่ง :) ไม่ว่าในกรณีใดทำสิ่งที่คุณสามารถแสดงให้พวกเขาเห็น
P.Windridge

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

3

นอกจากคำแนะนำที่ยอดเยี่ยมอื่น ๆ ทั้งหมดที่ฉันแนะนำให้ทำให้คุณสกปรกด้วยการเข้าร่วมการแข่งขันออนไลน์ดูไซต์สำหรับการแข่งขันการสร้างแบบจำลองการทำนาย

เกี่ยวกับหนังสือฯลฯ คุณควรดู:

เกี่ยวกับองศาฉันเห็นด้วยกับ @asjohnson ว่าใบรับรองมีความสำคัญน้อยกว่าอย่างน้อยฉันสามารถยืนยันสิ่งนี้สำหรับพื้นที่ที่ฉันกำลังทำงานอยู่ (Data Mining / ML บนเว็บ) มันอาจจะแตกต่างกันสำหรับพื้นที่ "วิชาการ" เพิ่มเติมเช่นชีวสารสนเทศศาสตร์แม้ว่า ความสามารถในการแสดงให้เห็นว่าหนึ่งคือ a) กระตือรือร้นและ b) ได้ทำงานจริง ("ฉลาดและทำสิ่งต่าง ๆ ") โดยแสดงผลงานเล็ก ๆ (เช่นการแข่งขันออนไลน์ ... ) ควรมีประสิทธิภาพมากกว่า IMHO


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

2

อ่านการเรียนรู้ของเครื่อง Tom Mitchell นั่นเป็นหนังสือที่ดีที่ควรให้คุณเริ่มต้นในด้านการเรียนรู้ของเครื่อง

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

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

โชคดี.


0

มีหนังสือดีๆมากมายเกี่ยวกับการเรียนรู้ของเครื่องรวมถึงหนังสือในชุด O'Reilly ที่ใช้ Python การทำงานอย่างใดอย่างหนึ่งหรือหลายอย่างอาจเป็นจุดเริ่มต้นที่ดี

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

ขอให้โชคดีและมีความสุขมันเป็นสนามที่ยอดเยี่ยม


0

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

ไม่มีอะไรที่จะเต้นได้ในพื้นที่ ML ดังนั้นการมีส่วนร่วมในเว็บไซต์เช่น stackexchange kaggle จึงเป็นวิธีที่ยอดเยี่ยมในการได้รับข้อมูลนี้ โชคดี.


0

ฉันรู้ว่ามันเป็นคำถามเก่า ๆ แต่เมื่อฉันเห็นว่าโปรแกรมเมอร์จำนวนมากยังไม่รู้วิธีเริ่มต้นใช้งาน

ดังนั้นฉันสร้าง"แผนประจำวันที่สมบูรณ์แบบสำหรับการศึกษาที่จะกลายเป็นวิศวกรเรียนรู้ของเครื่อง"พื้นที่เก็บข้อมูล

นี่คือแผนการศึกษาหลายเดือนของฉันสำหรับการพัฒนาจากนักพัฒนาอุปกรณ์พกพา (เรียนรู้ด้วยตนเอง, ไม่ใช้ CS) ไปยังวิศวกรการเรียนรู้ของเครื่อง

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

โปรดอย่าลังเลที่จะมีส่วนร่วมใด ๆ ที่คุณรู้สึกว่าจะทำให้ดีขึ้น

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