Chia sẻ: kinh nghiệm nghiên cứu về machine learning cho người mới, ít bị ngán, chán


#1

Thấy anh Tiệp share mấy cái về việc bắt đầu học ML cho những người mới, mình cũng có chút kinh nghiệm cho các bạn mới để không bị nản:

Bước 1: đọc sơ tài liệu từ khắp nơi, ráng tìm cả bản tiếng Anh lẫn tiếng Việt đọc cho dễ nắm thông tin. Không cần phải hiểu hết tất cả mọi thứ, nắm khái niệm là được. Ví dụ: linear regression để làm gì, overfitting là gì, K-mean để làm gì v.v. Xong.

Bước 2: nhúng tay vô code luôn. Python là lựa chọn dễ dàng nhất là cho các bạn đã làm dev hoặc cái gì đó tương tự. Python theo mình cú pháp cũng bình dân học vụ hơn nên dễ bắt đầu. Kiếm mấy bài tutorial trên mạng làm theo, kiếm bài nào hướng dẫn bạn thấy hiểu được thì làm, không nhất thiết phải theo 1 trang nào cố định. Có thể skip qua một số chỗ không biết, chấp nhận copy paste theo kiểu vẹt.

Bước 3: sau khi đã giải được bài toán đơn giản, bạn sẽ bắt đầu thấy sướng khi code đã chạy. Chỉ cần nhiêu đây thôi là đã có động lực lớn để tiếp tục.

Bước 3.1: sau khi code đã chạy, quay lại coi code để hiểu hơn + Google thêm các khái niệm có trong code mà bạn đã skip ở bước 2. Đừng bỏ qua, sau này rồi cũng phải đụng lại thôi nên ráng tìm hiểu ngay từ bây giờ.

Bước 4: tìm 1 bài toán thực tế nào đó để áp dụng, có thể nhìn quanh công ty mình đang làm hay trường học mình đang học để tìm vấn đề. Khi có vấn đề bạn sẽ tự Google thêm cách giải quyết, kiểu như “Làm sao để phân loại khách hàng” hoặc “dự đoán điểm môn X của chính bản thân bạn”.

Chia sẻ với các bạn nhiêu đó. Note thêm là mình dốt toán, mình toàn đi mò cách ứng dụng thôi chứ cũng không có hiểu hết về ML đâu, ra kết quả là mình thấy hài lòng rồi ! :smiley: Chúc các bạn vui vẻ và thành công.


#2

MÌnh xin nêu suy nghĩ của bản thân mình 1 chút. Khi mọi người chia sẻ kinh nghiệm có thể trích link các nguồn tài liệu hoặc tutorial video kèm theo được không. Vì mặc dù đã có google, nhưng việc bắt đầu học mà còn tra google thì cũng chẳng khác gì mò kim đáy bể.


#3

Mình thì không lưu lại các link đó, vì nó quá nhiều và nhiều link cũng tương tự như nhau, chưa kể mỗi người có một gu học khác nhau nữa


#4

Mình thấy việc này nó có hay cũng có cái không hay lắm. Nhưng với mình thì không hay nhiều hơn. Lý do là cũng ít có nhiều articles nằm cùng trên 1 site thông tin để mà share, mà kể cả có thì cái cảm giác bạn search 1 từ khóa mà lướt hàng trăm kết quả nó cho bạn bung ra nhiều vấn đề mà lần theo hơn là cho sẵn như các site tổng hợp thông tin như machinelearningcoban.com hay những site khác. Mà thật chất là công nghệ đã mò kim từ đầu rồi mà nhỉ :)) càng mò càng phải hăng chứ :))


#5

Mình cần lắm người hướng dẫn thêm Bước 4 :frowning: . Mình toàn học thôi nhưng cũng không ứng dụng được nhiều. Kaggle cũng chưa biết xài như thế nào cho chuẩn.


#6

Mình thì khuyên các bạn nên học theo các khóa học để thông tin nó được hệ thống hơn bao gồm cả lý thuyết lẫn thực hành.

Việc tự học, vá chỗ này chỗ kia thường thích hợp với các bạn chịu khó mày mò, hoặc sau khi bạn rõ vấn đề của mình cần làm, lỗi gặp phải .v.v.

Để làm đỡ ngán, thì nên phối hợp giữa lý thuyết và thực hành (hand-on approach). Chọn một ứng dụng đơn giản và theo đó làm các ví dụ, bài tập mẫu.


#7

Mình cũng đang tìm hiểu về cái này, khá đồng ý với bạn về các bước thực hiện. Xin bỗ sung một nơi để có nhiềiu bài viết hữu ích là trang medium.com cần gì cứ vào đây gõ keywork, follow các chủ đề mong muốn. Bạn sẽ mở rộng cho mình khá nhiều!


#8

Kinh nghiệm của cá nhân mình thì thấy tùy thuộc vào sở thích của từng người thôi. Cá nhân mình là dev thì mình cũng làm gần giống chủ topic. Mấu chốt của để đỡ nhàm chán là kết hợp giữa nghiên cứu tìm hiều và ứng dụng được những gì bạn học được vào vấn đề bạn quan tâm như : y tế, nghiên cứu khoa học, kinh tế, cryptocurrency, … - không nhất thiết phải viết ứng dụng mọi người có thể viết blog chia sẽ hoặc đơn giản là comment trên những chủ đề mà bạn quan tâm trên cộng đồng về Machine learning, Datascience …


#9

Mình khuyên bạn học 1 khóa Machine Learning Specilization trên Coursera của trường Washington University để hiểu rõ hơn về các khái niệm, làm các bài assignments trên đó để nâng cao kiến thức. Học lý thuyết xong có bài tập làm thì sẽ nhớ sâu và lâu hơn. Không nên đọc dàn trải nhiều lý thuyết quá, rồi sẽ quên ngay thôi.


#10

Để đỡ chán, thậm chí hiểu sâu hơn những chủ đề lý thuyết đang học, mình nghĩ cách tốt nhất là học cross giữa nhiều nền tảng. Ví dụ, gần đây mình đang học phần Gradient Descent, thì chuyển qua lại giữa các nguồn học, mình học dc như sau:

  1. Sách Machine Learning cơ bản của anh Tiệp. Học đc đường hướng chung của thuật toán, cơ sở toán học của nó. Nhưng không biết, nếu dùng bút và giấy, để giải bài toán này, mình sẽ phải đi những bước nào, giải ra sao. Đọc code của anh minh họa thì càng mơ hồ.
  2. Chuyển qua youtube, channel StatQuest with Josh Starmer: không quá sâu về cơ sở toán học, nhưng sau khi xem và hiểu, tự tin là giải được bài toán Gradient Descent bằng bút và giấy.
  3. Chuyển qua course của Andrew Ng: biết người ta ứng dụng bài toán này vào real problem with real customer như thế nào.

Dù vậy, chắc chắn là, sau một thời gian tìm hiểu, bạn cũng sẽ thấy chán. Cái đó không chỉ xảy ra với ML, mà bạn tìm hiểu điều gì cũng vậy thôi. Kiểu do não người tiến hóa để sướng với cái mới, chứ ko phải với những điều đã quen, hoặc đã bỏ ra hàng ngàn giờ tìm hiểu.

Cái này, thì phải tự mà rèn bản thân thôi, chứ mình ko biết trả lời sao.