Lập trình viên muốn đột nhập vào lĩnh vực máy học


19

Tôi là một nhà phát triển phần mềm (chủ yếu là .NET và Python khoảng 5 năm kinh nghiệm). Tôi có thể làm gì để giúp tôi có được một công việc trong lĩnh vực máy học hoặc thực sự bất cứ điều gì sẽ giúp tôi bắt đầu trong lĩnh vực đó? Bằng sau đại học là một yêu cầu khó khăn?


2
Câu hỏi này có vẻ giống như một câu hỏi wiki cộng đồng.
Andrew

Câu trả lời:


16

Mỗi lần tôi nói chuyện với ai đó về việc học thêm máy học, họ luôn chỉ cho tôi các yếu tố của học thống kê của Hastie và Tibshirani . Cuốn sách này có may mắn được cung cấp trực tuyến miễn phí (một bản sao cứng có một sự hấp dẫn nhất định, nhưng không bắt buộc) và nó là một giới thiệu thực sự tuyệt vời về chủ đề này. Tôi chưa đọc tất cả mọi thứ trong đó, nhưng tôi đã đọc nhiều về nó và nó thực sự đã giúp tôi hiểu mọi thứ tốt hơn.

Một tài nguyên khác mà tôi đã thực hiện theo cách của mình là lớp học Stanford Machine Learning , cũng trực tuyến và miễn phí. Andrew Ng làm một công việc tuyệt vời để đưa bạn đi qua mọi thứ. Tôi thấy nó đặc biệt hữu ích, vì nền tảng của tôi trong việc thực hiện các thuật toán còn yếu (tôi là một lập trình viên tự học) và nó chỉ cho bạn cách triển khai mọi thứ trong Octave (được cấp R đã thực hiện rất nhiều trong các gói). Tôi cũng đã tìm thấy những ghi chú trên thống kê reddit vài tháng trước, vì vậy tôi lướt qua những ghi chú đó và sau đó xem video và suy ngẫm về nó bằng những ghi chú của riêng tôi.

Nền tảng của tôi là về số liệu thống kê và tôi đã tiếp xúc với các khái niệm học máy (một người bạn tốt của tôi thực sự thích nó), nhưng tôi luôn cảm thấy như mình đang thiếu mặt trận học máy, vì vậy tôi đã cố gắng học tất cả thêm một chút về bản thân tôi Rất may có rất nhiều tài nguyên tuyệt vời ngoài kia.

Theo như nhận được một công việc trong ngành hoặc yêu cầu trường đại học, tôi không ở vị trí tuyệt vời để tư vấn (hóa ra tôi chưa bao giờ thuê ai), nhưng tôi đã nhận thấy rằng thế giới kinh doanh dường như thực sự thích những người có thể làm mọi việc và là một chút ít quan tâm đến những mảnh giấy nói rằng bạn có thể làm một cái gì đó.

Nếu tôi là bạn, tôi sẽ dành một chút thời gian rảnh để tự tin vào máy học kiến ​​thức của mình và sau đó thực hiện mọi thứ khi bạn nhìn thấy cơ hội. Cấp cho vị trí của bạn có thể không cho bạn cơ hội đó, nhưng nếu bạn có thể thực hiện một cái gì đó làm tăng giá trị cho công ty của bạn (trong khi duy trì các nghĩa vụ khác của bạn), tôi không thể tưởng tượng bất cứ ai khó chịu với bạn. Điều tuyệt vời ở đây là nếu bạn thấy mình học được một chút về công việc máy móc, khi bạn ra ngoài tìm kiếm một công việc mới, bạn có thể nói về kinh nghiệm bạn đã có, điều đó sẽ giúp mọi người nhìn qua sự thiếu cụ thể trình độ.

Có rất nhiều tài nguyên và nó vô cùng thú vị, tôi chúc bạn may mắn!

Một ý tưởng khác: Bạn có thể bắt đầu một blog về quá trình học máy của bạn và có thể ghi lại một vài dự án bạn làm trong thời gian rảnh. Tôi đã thực hiện điều này với một dự án lập trình và nó cho phép bạn nói về một dự án bạn đang làm trong thời gian rảnh (có vẻ tốt cho nhà tuyển dụng) và bạn cũng có thể hướng họ đến blog (rõ ràng là giữ chuyên nghiệp) về công việc của bạn . Cho đến nay tôi đã gửi khá nhiều người đến blog lập trình nhỏ bé của tôi (tôi hơi lười đăng bài gần đây, nhưng tôi vẫn cập nhật khi tôi nộp đơn xin việc) và mọi người tôi đã nói chuyện đều ấn tượng với nó


(+1) lời khuyên tuyệt vời, đặc biệt là về chứng chỉ lớp ML, kiến ​​thức / công việc thực tế> và blog.
steffen

Một blog chuyên nghiệp nghe có vẻ là một ý tưởng tốt!
Rishi Dua

"Thế giới kinh doanh dường như thực sự thích những người có thể làm mọi việc" - vâng, và điều này áp dụng ngay cả với những mảnh giấy :) Trong mọi trường hợp, hãy làm điều gì đó bạn có thể chỉ cho họ.
P.Windridge

Các yếu tố của học thống kê, trong khi toàn diện, là khó khăn cho những người không có bằng tốt nghiệp về thống kê. Thay vào đó, tôi muốn giới thiệu Giới thiệu về Học thống kê với (Ứng dụng trong R), bởi cùng các tác giả. Nó đơn giản hơn nhiều.
Abhishek Divekar

3

Ngoài tất cả các lời khuyên tuyệt vời khác, tôi khuyên bạn nên làm bẩn tay bằng cách tham gia các cuộc thi trực tuyến, xem Trang web để biết các cuộc thi mô hình dự đoán

Về sách vv bạn nên xem qua:

Về bằng cấp tôi đồng ý với @asjohnson rằng chứng chỉ không quan trọng, ít nhất tôi có thể xác nhận điều này cho khu vực tôi đang làm việc (Khai thác dữ liệu / ML trên web). Nó có thể khác nhau đối với các lĩnh vực "hàn lâm" hơn như tin sinh học. Có thể chứng minh rằng một người là một) nhiệt tình và b) đã thực hiện công việc thực tế ("thông minh và hoàn thành công việc") bằng cách hiển thị một danh mục đầu tư nhỏ (ví dụ: các cuộc thi trực tuyến ...) nên IMHO hiệu quả hơn.


(+1) Đối với các cuộc thi trực tuyến. Tôi nghĩ rằng nếu bạn đã làm một cái gì đó từ kaggle hoặc một trong những cuộc thi khác ngoài đó và theo dõi mã của bạn và quy trình của bạn (tôi đang nghĩ blog) ở một nơi mà các nhà tuyển dụng tiềm năng có thể kiểm tra nó. Nó sẽ cho thấy rất nhiều sáng kiến ​​và theo nhiều cách dễ dàng hơn là nghĩ ra câu hỏi quan tâm của riêng bạn. Chỉ cần chọn một trong những cuộc thi mà bạn quan tâm, sau đó bạn có dữ liệu ngay tại đó và một nơi để gửi và so sánh các câu trả lời.
asjohnson

2

Đọc máy học của Tom Mitchell. Đó là một cuốn sách hay sẽ giúp bạn bắt đầu trong lĩnh vực Machine Learning.

Một điều cần lưu ý: xin lưu ý rằng thuật toán tương tự đôi khi có thể hoạt động tốt hơn hoặc xấu hơn theo kịch bản và các tham số được cung cấp và cơ hội ngẫu nhiên. Đừng không bị lôi kéo vào việc tối ưu hóa các thông số cho dữ liệu huấn luyện của bạn - đây là một ứng dụng nghèo nàn của học máy.

Có rất nhiều kỹ thuật phù hợp cho các ứng dụng cụ thể (nhưng không phải tất cả các ứng dụng) và có rất nhiều lý thuyết mà bạn có thể đọc để hiểu máy học tốt hơn. Để giỏi học máy, bạn cần chắc chắn phải biết những gì bạn đang làm nếu không bạn không thể chắc chắn liệu kết quả của bạn sẽ khái quát tốt hay không.

Chúc may mắn.


0

Có một số lượng lớn các cuốn sách hay về học máy, bao gồm một số trong bộ O'Reilly sử dụng Python. Làm việc thông qua một hoặc một vài trong số này có thể là điểm khởi đầu tốt.

Tôi cũng đề nghị nhận được một số kiến ​​thức về thống kê - thông qua một hoặc hai khóa học, hoặc tự học, không thực sự quan trọng. Lý do là có một số sách học máy tập trung vào các thuật toán và cơ học, nhưng bỏ qua câu hỏi cơ bản về khả năng thuật toán của bạn nói với bạn là do tình cờ. Và, đây là điều cần thiết để biết.

Chúc may mắn và vui vẻ, đó là một lĩnh vực tuyệt vời.


0

Câu hỏi rất hay. Một điều cần nhận ra là học máy vừa là một nghệ thuật vừa là khoa học và liên quan đến việc làm sạch dữ liệu một cách tỉ mỉ, trực quan hóa nó và cuối cùng xây dựng các mô hình phù hợp với doanh nghiệp, đồng thời giữ cho nó có thể mở rộng và có thể mở rộng. Kỹ năng khôn ngoan, quan trọng hơn bất cứ điều gì khác là tập trung vào xác suất và sử dụng các phương pháp đơn giản trước khi nhảy vào những phương pháp phức tạp. Tôi thích sự kết hợp R & Perl, vì bạn biết python nên đủ tốt. Khi làm việc trên một công việc thực tế, bạn sẽ luôn phải tự lấy dữ liệu của mình để kiến ​​thức về SQL (hoặc bất cứ thứ gì khác mà công ty bạn không hỗ trợ) là điều bắt buộc.

Không có gì đánh bại trải nghiệm trong khu vực ML, vì vậy, tham gia vào các trang web như stackexchange, kaggle cũng là một cách tuyệt vời để tiếp xúc với lĩnh vực này. Chúc may mắn.


0

Tôi biết đó là một câu hỏi cũ nhưng thực tế là tôi đã thấy rất nhiều lập trình viên vẫn chưa biết làm thế nào để bắt đầu.

Vì vậy, tôi đã tạo ra một kho lưu trữ "Một kế hoạch hoàn chỉnh hàng ngày cho việc học để trở thành một kỹ sư máy học" .

Đây là kế hoạch học tập nhiều tháng của tôi để đi từ nhà phát triển di động (tự học, không có bằng CS) đến kỹ sư máy học.

Mục tiêu chính của tôi là tìm ra cách tiếp cận để học Machine Learning, chủ yếu là thực hành và trừu tượng hóa hầu hết các môn Toán cho người mới bắt đầu. Cách tiếp cận này là độc đáo bởi vì nó là cách tiếp cận từ trên xuống và kết quả đầu tiên được thiết kế cho các kỹ sư phần mềm.

Xin vui lòng, hãy thoải mái thực hiện bất kỳ đóng góp nào bạn cảm thấy sẽ làm cho nó tốt hơn.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.