Nếu bạn là nhà phát triển chuyển sang khoa học dữ liệu, đây là tài nguyên tốt nhất của bạn

Dường như mọi người đều muốn trở thành một nhà khoa học dữ liệu ngày nay - từ nghiên cứu sinh đến các nhà phân tích dữ liệu đến bạn cùng phòng đại học cũ của bạn, người đã liên kết với Linkedin nhắn tin cho bạn để lấy cà phê.

Có lẽ bạn đã có một ý tưởng tương tự rằng ít nhất bạn nên khám phá một số vị trí khoa học dữ liệu và xem những gì cường điệu nói về. Có lẽ bạn đã thấy các bài báo như Vicki Boykis về Khoa học dữ liệu bây giờ khác nhau:

Điều đang trở nên rõ ràng là, trong giai đoạn cuối của chu kỳ cường điệu, khoa học dữ liệu tiến gần hơn đến kỹ thuật và các kỹ năng mà các nhà khoa học dữ liệu cần hướng tới là ít hình dung và dựa trên thống kê, và phù hợp hơn với khoa học máy tính truyền thống Sầu:
Các khái niệm như kiểm thử đơn vị và tích hợp liên tục nhanh chóng tìm thấy thuật ngữ và bộ công cụ thường được sử dụng bởi nhà khoa học dữ liệu và nhà khoa học số làm việc về kỹ thuật ML.

hoặc các tweet như Tim Hopper từ:

Điều mà không rõ ràng là làm thế nào bạn có thể tận dụng kinh nghiệm của mình như một kỹ sư phần mềm vào một vị trí khoa học dữ liệu. Một số câu hỏi khác bạn có thể có là:

Tôi nên ưu tiên việc học gì?

Có những thực tiễn hay công cụ tốt nhất khác nhau cho các nhà khoa học dữ liệu?

Bộ kỹ năng hiện tại của tôi sẽ chuyển sang vai trò khoa học dữ liệu?

Bài viết này sẽ cung cấp một nền tảng về vai trò của nhà khoa học dữ liệu và lý do tại sao nền của bạn có thể phù hợp với khoa học dữ liệu, cộng với các hành động từng bước hữu hình mà bạn, với tư cách là nhà phát triển, có thể thực hiện để phát triển khoa học dữ liệu.

Bạn muốn xem vai trò khoa học dữ liệu mới nhất? Theo dõi Bản tin ML Jobs hai tuần một lần để biết cơ hội việc làm khoa học dữ liệu mới trong hộp thư đến của bạn.

Nhà khoa học dữ liệu so với kỹ sư dữ liệu

Trước tiên, chúng ta nên phân biệt giữa hai vai trò bổ sung: Nhà khoa học dữ liệu và Kỹ sư dữ liệu. Mặc dù cả hai vai trò này đều xử lý các mô hình học máy, nhưng sự tương tác của chúng với các mô hình này cũng như các yêu cầu và tính chất công việc của các Nhà khoa học dữ liệu và Kỹ sư dữ liệu rất khác nhau.

Lưu ý: Vai trò Kỹ sư dữ liệu chuyên dùng cho học máy cũng có thể thể hiện trong các mô tả công việc như Engineer Kỹ sư phần mềm, Học máy, hoặc Engine Kỹ sư học máy

Là một phần của quy trình học máy, nhà khoa học dữ liệu sẽ thực hiện phân tích thống kê cần thiết để xác định phương pháp học máy nào sẽ sử dụng sau đó bắt đầu tạo mẫu và xây dựng các mô hình đó.

Các kỹ sư máy học thường sẽ hợp tác với các nhà khoa học dữ liệu trước và sau quá trình mô hình hóa này: (1) xây dựng các đường ống dữ liệu để cung cấp dữ liệu vào các mô hình này và (2) thiết kế một hệ thống kỹ thuật sẽ phục vụ các mô hình này để đảm bảo sức khỏe mô hình liên tục.

Sơ đồ dưới đây là một cách để xem tính liên tục của các kỹ năng này:

Có rất nhiều tài nguyên trực tuyến về sự khác biệt giữa Nhà khoa học dữ liệu và Kỹ sư dữ liệu - hãy đảm bảo kiểm tra:

  • Panoply: sự khác biệt giữa một kỹ sư dữ liệu và một nhà khoa học dữ liệu là gì?
  • Springboard: Kỹ sư máy học và nhà khoa học dữ liệu
  • O hèReilly: Kỹ sư dữ liệu so với các nhà khoa học dữ liệu

Từ chối trách nhiệm, bài viết này chủ yếu đề cập đến vai trò Nhà khoa học dữ liệu với một vài cái gật đầu về phía Kỹ thuật máy học (đặc biệt có liên quan nếu bạn đang tìm kiếm vị trí trong một công ty nhỏ hơn, nơi bạn có thể phải làm cả hai). Nếu bạn quan tâm đến việc xem làm thế nào bạn có thể chuyển sang làm Kỹ sư dữ liệu hoặc Kỹ sư máy học, hãy cho chúng tôi biết trong các nhận xét bên dưới!

Lợi thế của bạn là một nhà phát triển

Đối với mọi người, bất lợi, các lớp học về máy học như ‘Giới thiệu về Khoa học dữ liệu trong Python, hoặc khóa học Andrew Ng, Coursera không bao gồm các khái niệm và thực tiễn tốt nhất từ ​​kỹ thuật phần mềm như kiểm tra đơn vị, viết mã tái sử dụng mô-đun, CI / CD hoặc kiểm soát phiên bản. Ngay cả một số nhóm học máy tiên tiến nhất vẫn không sử dụng các thực hành này cho mã máy học của họ, dẫn đến một xu hướng đáng lo ngại

Pete Warden đã mô tả xu hướng này là Cris Cuộc khủng hoảng sinh sản của Machine Learning:

Chúng tôi vẫn quay lại thời kỳ tăm tối khi theo dõi các thay đổi và xây dựng lại các mô hình từ đầu. Nó rất tệ, đôi khi có cảm giác như quay ngược thời gian khi chúng ta mã hóa mà không kiểm soát nguồn.

Mặc dù bạn có thể không thấy các kỹ năng kỹ thuật phần mềm này được mô tả rõ ràng trong các mô tả công việc của nhà khoa học dữ liệu, nhưng việc nắm bắt tốt các kỹ năng này như là một phần của nền tảng của bạn đã giúp bạn làm việc như một nhà khoa học dữ liệu. Thêm vào đó, họ sẽ sử dụng khi có thời gian để trả lời những câu hỏi lập trình đó trong cuộc phỏng vấn khoa học dữ liệu của bạn.

Để biết một số góc nhìn thú vị từ phía bên kia, hãy xem phần của Trey Causey về 'Kỹ năng phát triển phần mềm cho các nhà khoa học dữ liệu' về các kỹ năng mà ông khuyên các nhà khoa học dữ liệu nên học để viết mã tốt hơn, tương tác tốt hơn với các nhà phát triển phần mềm và cuối cùng giúp bạn tiết kiệm thời gian và đau đầu.

Tăng cường khoa học dữ liệu

Thật tuyệt vời khi bạn có một nền tảng tốt với nền tảng kỹ thuật phần mềm của mình, nhưng bước nào tiếp theo để trở thành một nhà khoa học dữ liệu? Đoạn tweet đầy ý nghĩa của Josh Will sườn về định nghĩa của một nhà khoa học dữ liệu là chính xác đáng ngạc nhiên:

Nó gợi ý về một trong những chủ đề bạn nên nắm bắt nếu bạn quan tâm đến việc theo đuổi vai trò hoặc nhà khoa học dữ liệu: thống kê. Trong phần tiếp theo này, chúng tôi sẽ bao gồm các tài nguyên tuyệt vời cho:

  • Xây dựng kiến ​​thức đặc thù ML
  • Xây dựng kiến ​​thức ngành
  • Các công cụ trong ngăn xếp ML
  • Kỹ năng và trình độ

Xây dựng kiến ​​thức đặc thù ML

Nó có hiệu quả nhất để xây dựng sự kết hợp giữa kiến ​​thức dựa trên lý thuyết xung quanh xác suất và thống kê cũng như các kỹ năng ứng dụng trong những thứ như sắp xếp dữ liệu hoặc mô hình đào tạo về GPU / tính toán phân tán.

Một cách để đóng khung kiến ​​thức mà bạn đạt được là tham chiếu nó theo quy trình công việc học máy.

Một cái nhìn đơn giản về quy trình học máy
Xem quy trình làm việc chi tiết này từ Skymind AI

Ở đây chúng tôi liệt kê ra một số tài nguyên tốt nhất bạn có thể tìm thấy xung quanh máy học. Không thể có một danh sách đầy đủ và để tiết kiệm không gian (và thời gian đọc), chúng tôi đã đề cập đến các tài nguyên rất phổ biến như khóa học Andrew Ngiêu Coursera hoặc Kaggle.

Các khóa học:

  • Nhanh
  • Học viện Khan
  • Kênh youtube 3Blue1Brown và mathmonk
  • Các khóa học về độ bền (bao gồm cả tiền xử lý cho Machine Learning trong Python)
  • Bản nhạc dành riêng cho Springboard AI / ML

Sách giáo khoa: * đã cố gắng tìm các tệp PDF miễn phí trực tuyến cho hầu hết các *

  • Lập trình xác suất & Phương pháp Bayes cho tin tặc
  • Xác suất và quy trình ngẫu nhiên
  • Các yếu tố của học thống kê
  • Đại số tuyến tính Thực hiện đúng
  • Giới thiệu về Đại số tuyến tính
  • Thiết kế thuật toán

Hướng dẫn:

  • Hướng dẫn học máy của nhà phát triển Google
  • Hướng dẫn làm chủ máy học (để có điểm khởi đầu tốt, hãy xem khóa học nhỏ này về Python Machine Learning)
  • Pyimagesearch (cho tầm nhìn máy tính)

Gặp gỡ: * chủ yếu dựa trên NYC *

  • Giấy tờ chúng tôi yêu
  • NYC Artificial Intelligence & Machine Learning
  • Hội đồng dữ liệu.ai
  • Trí tuệ nhân tạo NY
Để có một điểm khởi đầu thú vị, hãy xem Will Wolf sườn ‘Học máy học mã nguồn mở về cách bạn có thể sắp xếp thời gian của mình để nghiên cứu các chủ đề cụ thể và làm việc trên các dự án để thể hiện chuyên môn ở một địa điểm từ xa với chi phí thấp.

Xây dựng kiến ​​thức chuyên ngành

Nếu bạn có một ý tưởng mơ hồ rằng bạn muốn trở thành một ngành cụ thể như chăm sóc sức khỏe, dịch vụ tài chính, hàng tiêu dùng, bán lẻ, v.v., thì việc nắm bắt những điểm đau và sự phát triển của ngành đó là vô giá học tập.

Một mẹo chuyên nghiệp = bạn có thể quét các trang web của các công ty khởi nghiệp AI cụ thể theo chiều dọc và xem cách họ định vị đề xuất giá trị của họ và nơi học máy phát huy tác dụng. Điều này sẽ cung cấp cho bạn ý tưởng cho các lĩnh vực cụ thể của máy học để nghiên cứu và chủ đề cho các dự án để giới thiệu công việc của bạn.

Chúng ta có thể xem qua một ví dụ: hãy để nói rằng tôi thích làm việc trong lĩnh vực chăm sóc sức khỏe.

  1. Qua một cuộc tìm kiếm nhanh trên Google về máy học chăm sóc sức khỏe, tôi đã tìm thấy danh sách này từ Healthcareweekly.com trên Start Khởi nghiệp chăm sóc sức khỏe tốt nhất để theo dõi trong năm 2019.
Bạn cũng có thể thực hiện các tìm kiếm nhanh trên Crunchbase hoặc AngelList với từ chăm sóc sức khỏe và làm một từ khóa

2. Hãy lấy một trong những công ty nổi bật trong danh sách, BenevolentAI, làm ví dụ.

3. Trang web BenevolentAI từ:

Chúng tôi là một công ty AI có khả năng từ đầu đến cuối từ phát hiện thuốc sớm đến phát triển lâm sàng giai đoạn cuối. BenevolentAI kết hợp sức mạnh của y học tính toán và AI tiên tiến với các nguyên tắc của hệ thống mở và điện toán đám mây để biến đổi cách thức thuốc được thiết kế, phát triển, thử nghiệm và đưa ra thị trường.
Chúng tôi đã xây dựng Nền tảng từ thiện để hiểu rõ hơn về bệnh và thiết kế mới, và cải thiện các phương pháp điều trị hiện có, từ một lượng lớn thông tin y sinh. Chúng tôi tin rằng công nghệ của chúng tôi trao quyền cho các nhà khoa học phát triển thuốc nhanh hơn và tiết kiệm chi phí hơn.
Một bài báo nghiên cứu mới được xuất bản cứ sau 30 giây nhưng các nhà khoa học hiện chỉ sử dụng một phần kiến ​​thức có sẵn để hiểu nguyên nhân gây bệnh và đề xuất phương pháp điều trị mới. Nền tảng của chúng tôi ăn vào, ‘đọc và bối cảnh số lượng lớn thông tin được rút ra từ các tài liệu bằng văn bản, cơ sở dữ liệu và kết quả thử nghiệm. Nó có thể đưa ra nhiều suy luận và suy luận hơn nữa qua các nguồn dữ liệu phức tạp, khác biệt này, xác định và tạo mối quan hệ, xu hướng và mô hình, điều đó là không thể đối với một con người.

4. Ngay lập tức bạn có thể thấy rằng BenevolentAI đang sử dụng xử lý ngôn ngữ tự nhiên (NLP) và có thể đang làm việc với một số biểu đồ tri thức nếu họ xác định mối quan hệ giữa các bệnh và nghiên cứu điều trị

5. Nếu bạn kiểm tra trang sự nghiệp BenevolentAI, bạn có thể thấy rằng họ đang tuyển dụng cho một nhà nghiên cứu máy học cao cấp. Đây là một vai trò cao cấp, vì vậy, nó không phải là một ví dụ hoàn hảo, nhưng hãy xem các kỹ năng và trình độ mà họ yêu cầu dưới đây:

Ghi chú:

  • xử lý ngôn ngữ tự nhiên, suy luận đồ thị kiến ​​thức, học tập tích cực và mô hình hóa sinh
  • nguồn dữ liệu có cấu trúc và không cấu trúc
  • phương pháp mô hình Bayes
  • kiến thức về các công cụ hiện đại cho ML

Điều này sẽ cung cấp cho bạn một số bước để tiếp cận những gì:

  • làm việc với dữ liệu có cấu trúc
  • làm việc với dữ liệu phi cấu trúc
  • phân loại mối quan hệ trong biểu đồ tri thức (xem tài nguyên tốt ở đây)
  • học tập xác suất Bayesian và phương pháp mô hình hóa
  • làm việc trên một dự án NLP (dữ liệu văn bản)

Chúng tôi không khuyên bạn nên áp dụng cho các công ty bạn tìm thấy thông qua tìm kiếm của bạn, mà hãy xem cách họ mô tả điểm đau của khách hàng, đề xuất giá trị của công ty họ và loại kỹ năng nào họ liệt kê trong mô tả công việc để hướng dẫn nghiên cứu của bạn.

Các công cụ trong ngăn xếp ML

Trong bản mô tả công việc của Nhà nghiên cứu máy học cao cấp BenevolentAI, họ yêu cầu kiến ​​thức về các công cụ hiện đại cho ML, chẳng hạn như Tensorflow, PyTorch, v.v ...

Học các công cụ hiện đại này cho ML có vẻ khó khăn vì không gian luôn thay đổi. Để chia quá trình học tập thành các phần có thể quản lý, hãy nhớ neo suy nghĩ của bạn xung quanh quy trình học máy từ trên xuống - Công cụ nào có thể giúp tôi với phần này của quy trình công việc?

Để xem công cụ nào đi kèm theo từng bước của quy trình học máy này, hãy xem Roger Huang Huang ‘Giới thiệu về Máy học Stack Stack bao gồm các công cụ như Docker, Comet.ml và dask-ml.

Về mặt chiến thuật, Python và R là ngôn ngữ lập trình phổ biến nhất mà các nhà khoa học sử dụng và bạn sẽ gặp các gói bổ trợ được thiết kế cho các ứng dụng khoa học dữ liệu, như NumPy và SciPy và matplotlib. Các ngôn ngữ này được giải thích, thay vì biên dịch, để các nhà khoa học dữ liệu tự do tập trung vào vấn đề hơn là các sắc thái của ngôn ngữ. Nó có giá trị đầu tư thời gian học lập trình hướng đối tượng để hiểu việc thực hiện các cấu trúc dữ liệu như các lớp.

Để bắt kịp các khuôn khổ ML như Tensorflow, Keras và PyTorch, hãy đảm bảo truy cập tài liệu của họ và thử thực hiện các hướng dẫn của họ từ đầu đến cuối.

Vào cuối ngày, bạn muốn chắc chắn rằng bạn đang xây dựng các dự án giới thiệu các công cụ hiện đại này để thu thập và sắp xếp dữ liệu, quản lý thử nghiệm máy học và mô hình hóa.

Để có cảm hứng cho các dự án của bạn, hãy xem Edouard Harris, tác phẩm của Vấn đề khởi đầu lạnh: làm thế nào để xây dựng danh mục máy học của bạn

Kỹ năng và trình độ

Chúng tôi đã để lại phần này cuối cùng vì nó tổng hợp nhiều thông tin từ các phần trước, nhưng đặc biệt hướng đến việc chuẩn bị phỏng vấn khoa học dữ liệu. Có sáu chủ đề chính trong một cuộc phỏng vấn nhà khoa học dữ liệu:

  1. Mã hóa
  2. Sản phẩm
  3. SQL
  4. Thử nghiệm A / B
  5. Học máy
  6. Xác suất (xem một định nghĩa tốt so với Thống kê tại đây)

Bạn có thể nhận thấy rằng một trong những chủ đề này không giống với những chủ đề khác (Sản phẩm). Đối với các vị trí khoa học dữ liệu, truyền thông về các khái niệm và kết quả kỹ thuật cũng như các số liệu và tác động kinh doanh là rất quan trọng.

Một số tổng hợp hữu ích của các câu hỏi phỏng vấn khoa học dữ liệu:
https://github.com/kojino/120-Data-Science-Interview-Questions
Https: //github.com/iamtodor/data-science-interview-questions-and-answers
Https://hookedondata.org/red-flags-in-data-science-interviews/
Https://medium.com/@XiaohanZeng/i-interviewed-at-five-top-compiances-in-silicon-valley-in-five-ng-

Bạn sẽ nhận thấy rằng chúng tôi đã bao gồm phần của Hooked on Data trên 'Red Flag trong Dữ liệu phỏng vấn' - khi bạn phỏng vấn cho các vai trò, bạn sẽ bắt gặp các công ty vẫn đang xây dựng cơ sở hạ tầng dữ liệu của họ hoặc có thể không hiểu rõ về cách nhóm khoa học dữ liệu của họ phù hợp với giá trị công ty lớn hơn.

Các công ty này có thể vẫn đang leo lên hệ thống phân cấp nhu cầu dưới đây.

Hệ thống phân cấp nhu cầu AI phổ biến từ Monica Rogati

Đối với một số kỳ vọng được đặt ra xung quanh các cuộc phỏng vấn khoa học dữ liệu, tôi khuyên bạn nên đọc phần Tim Hopper, trên Một số phản ánh về việc bị từ chối vì nhiều việc làm về khoa học dữ liệu

Cảm ơn vì đã đọc! Chúng tôi hy vọng hướng dẫn này giúp bạn hiểu nếu khoa học dữ liệu là nghề nghiệp bạn nên xem xét và làm thế nào để bắt đầu hành trình đó!

Bạn muốn xem vai trò khoa học dữ liệu mới nhất? Theo dõi Bản tin ML Jobs hai tuần một lần để biết cơ hội việc làm khoa học dữ liệu mới trong hộp thư đến của bạn: