Machine Learning trên Quora hỏi gì đáp nấy

Trong quá trình theo đuổi sự nghiệp của mình về Machine learning, tôi cũng có nhiều thắc mắc và những câu hỏi liên quan đến công việc của mình cần được giải đáp như: làm thế nào để trở thành data scientist, không có bằng tiến sĩ liệu có theo đuổi lĩnh vực này được không, tôi nên sử dụng ngôn ngữ lập trình nào để phân tích dữ liệu, … Thật hay biết mấy nếu có chuyên gia bên cạnh để trả lời cho mình tất cả những vấn đề này. Vậy nên, tôi sẽ tận dụng bài viết này để tổng hợp lại những câu hỏi mà tôi đã đặt ra và được các chuyên gia trên Quora trả lời để làm một nơi tham khảo đầy hữu ích.

Có phải machine learning chỉ dành cho những thiên tài? Tôi có nên bận tâm theo đuổi nó?

Vâng, bạn hoàn toàn có thể làm như vậy! Nguyên tắc làm việc và niềm đam mê quan trọng hơn nhiều so với khả năng toán học & kĩ năng coding.
Khi tôi bắt đầu học về machine learning, tôi đã rất bối rối trước tất cả các kí hiệu toán học và những khái niệm trừu tượng. Nhưng theo thời gian, tôi đã đạt được trình độ cho phép tôi có thể sử dụng toán học để diễn giải các khía cạnh trong machine learning một cách hiệu quả. Dù sao, toán học cũng chỉ là một ngôn ngữ, dù cho nó có phức tạp hay đòi hỏi nhiều sự chính xác và nghiêm ngặt đi chăng nữa.

Yisong Yue, Machine Learning Researcher.

Có cần bằng tiến sĩ để có thể làm việc trong lĩnh vực Machine Learning?

Dĩ nhiên là không. Tôi nghĩ cách đây 10 năm thì điều này là đúng. Machine Learning là lĩnh vực rất mới và những ai hiểu về nó đều cố gắng đi đầu để áp dụng nó vào trong các doanh nghiệp. Nhưng ngày nay, tôi gặp rất nhiều bạn trẻ, những người có hiểu biết vững chắc về những khái niệm cơ bản và có thể làm việc với chất lượng rất tốt.

Ngược lại, với kiến thức nâng cao về khoa học máy tính, nếu bạn muốn sáng chế ra các giải thuật mới – như tạo ra các thuật toán PageRank mới – thì bằng tiến sĩ sẽ giúp bạn khai phá lĩnh vực này và bạn sẽ có nhiều thời gian cũng như sự tự do trong việc phát minh ra những tri thức mới có tiềm năng mang lại những cuộc cách mạng sau này.

Charles H Martin, Calculation Consulting

Ngôn ngữ lập trình nào là tốt nhất để làm việc với machine learning hay phân tích thống kê? Ngôn ngữ R hay Python?

Sử dụng R để phân tích thống kê và prototype các mô hình dự đoán của machine learning. Sử dụng Python trong quá trình phát triển sản phẩm thực tế. R tốt hơn Python trong phân tích dữ liệu bởi vì R ban đầu được thiết kế để tính toán các số liệu thống kê và có nhiều gói phần mềm thứ 3 phục vụ cho các tác vụ phân tích này.

Boxun Zhang, Data Scientist at Spotify; PhD in Computer Science.

Nghiên cứu học thuật về Computer Science có thật sự mang lại giá trị gì không?

Có lẽ bạn nên review lại các bài báo về deep learning. Trong một thời gian dài, nhiều người nghĩ rằng những bài báo này không có giá trị. Nhưng bây giờ, deep learning và machine learning trên các bài toán quy mô lớn đang nhanh chóng trở thành một ngành công nghiệp triệu đô. Đó là minh chứng rõ ràng nhất về giá trị nghiên cứu học thuật về lĩnh vực này.
Yisong Yue, Machine Learning Researcher

Đâu là nguồn tài liệu tập dợt SQL để chuẩn bị cho buổi phỏng vấn về data science?

Tôi đã thử qua SQLZoo và làm tất cả các bài tập của họ đề ra. Trang web này có một giao diện cực kỳ thuận lợi, bạn có thể viết các câu truy vấn SQL trực tiếp trên trang web cũng như cho phép bạn chạy các câu truy vấn SQL tùy ý trên các table được cung cấp sẵn. Ngoài ra, trang web còn cung cấp cho bạn các câu trả lời để tham khảo.

Nếu có một khái niệm nào đó đỏi hỏi bạn phải thuần thục, ví dụ như phép kết (JOIN) thì nơi đây sẽ giúp bạn đạt được điều đó.

William Chen, Data Scientist at Quora

Top 10 giải thuật cho data mining hay machine learning là gì?

  • Kernel Density Estimation and Non-parametric Bayes Classifier
  • K-Means
  • Kernel Principal Components Analysis
  • Linear Regression
  • Neighbors (Nearest, Farthest, Range, k, Classification)
  • Non-Negative Matrix Factorization
  • Support Vector Machines
  • Dimensionality Reduction
  • Fast Singular Value Decomposition
  • Decision Tree
  • Bootstrapped SVM

Jeff Hammerbacher, Curious

Để trở thành một data scientist trong một công ty công nghệ cao (Google, Microsoft, Facebook), tôi cần phải biết các thuật toán machine learning đến mức nào?

Như John L. Miller và John Eysman đã chỉ ra rằng, thật hiếm khi các data scientist phải cài đặt lại các thuật toán machine learning từ đầu.

Tuy nhiên, tôi muốn nhấn mạnh tầm quan trọng của việc thật sự hiểu các thuật toán machine learning về cách mà nó hoạt động như thế nào và đâu là điểm hạn chế trong các thuật toán ấy. Ví dụ:

  • Kĩ thuật feature engineering có liên quan gì đến Random Forests không?
  • Thuật toán xây dựng cây nào là tốt nhất để cài đặt random forest và tại sao?
  • Bạn có thể giải thích một cách trực quan về gradient descent hay không?

Boxun Zhang, Data Scientist at Spotify; PhD in Computer Science.

Data scientist nên làm việc cho công ty lớn hay công ty startup?

Tôi nghĩ rằng chất lượng của dữ liệu là một vấn đề ở đâu cũng có, và kỹ thuật phân tích dữ liệu sẽ chiếm hầu hết thời gian của bạn. Tôi thích làm mỗi thứ một chút trong tiến trình này. Nhưng có vẻ như bạn muốn tập trung nhiều hơn vào việc xây dựng các mô hình dự đoán. Khi đó, các công ty lớn sẽ phù hợp với bạn hơn. Tuy nhiên, tôi muốn có một buổi nói chuyện về công ty hiện tại của bạn để xem bạn có nên chuyển đổi vai trò của mình sang công việc mà mình muốn làm hay không.

Sean Owen.

Làm sao để trả lời các câu hỏi về lập trình trong buổi phỏng vấn?

Luôn nhớ rằng: Nói ra bất kỳ suy nghĩ nào mà bạn đang nghĩ.

Có thể bạn sai nhưng hãy xem đây là một buổi thảo luận có tính xây dựng, người phỏng vấn sẽ giúp bạn trong quá trình này. Không nhất thiết phải có câu trả lời đúng, hầu hết những người phỏng vấn quan tâm nhiều hơn về cách mà bạn suy nghĩ.

Sahil Sareen, Software Engineer at Arista Networks, Foundation Member and Game Dev at GNOME.

Tôi không giỏi toán và thống kê. Tôi là một lập trình viên giỏi. Tôi muốn phát triển trong lĩnh vực machine learning và deep learning. Tôi nên bắt đầu từ đâu và làm sao để tiếp tục?

Không giỏi toán và thống kê là một sai lầm. Hãy thử cách này: nếu bạn có hứng thú về machine learning thì hãy bắt đầu tìm hiểu cũng như rèn luyện kĩ năng về nó. Trong quá trình này, bạn sẽ cần lật lại các kiến thức toán học và thống kê để tham khảo “những cái mà bạn chưa giỏi”.

Ricardo Vladimiro, Game Analytics and Data Science Lead @ Miniclip.

Phải mất bao lâu để có thể trở thành data scientist? Tôi có bằng về Khoa học máy tính và có 1 năm kinh nghiệm làm việc trên các tập dữ liệu mặc dù tôi chưa từng làm nhiều về machine learning hay mô hình hóa chúng.

Với bằng cử nhân Khoa học máy tính, bạn hầu như có thể giải quyết các phần liên quan đến lập trình. Đây chỉ là vấn đề bạn có biết cách sử dụng các gói thư viện và các hàm cài đặt sẵn hay không. Điều quan trọng hơn đó là nắm được các khái niệm và thuật toán đằng sau machine learning cũng như kĩ thuật xử lý dữ liệu. Tôi nghĩ sẽ không mất nhiều thời gian nếu bạn đam mê về nó.

Yilun (Tom) Zhang, Learning data science (Actively using R and Python), Statistics and Computational Math at University of Waterloo.

Tôi có thể nhận được công việc về data science hay không nếu như không có bằng thạc sĩ?

Thật khó khi đòi hỏi phải là một bậc thầy trong lĩnh vực phân tích số liệu thống kê đối với những người mới nhảy sang lĩnh vực này. Hãy thử qua các chương trình “bootcamp” – đây như là một cách tương đối phù hợp hơn để giúp bạn khởi động trong lĩnh vực này. Đồng thời cố gắng tìm được một công việc mà bạn có thể đầu tư thời gian vào việc học để nắm bắt các kiến thức nền còn lại.

May mắn thay data science đang có nhu cầu lớn mà số lượng này có thể thay thế được. Những nhà tuyển dụng thực sự muốn thuê những người thông minh, có thể làm được nhiều việc cùng lúc và hầu hết các vị trí đều không đòi hỏi phải là ‘full stack data science’.

Sean Owen, Director, Data Science @ Cloudera.

Nguồn: ongxuanhong.wordpress.com