Nền tảng để học ML là gì?

Giả sử muốn nắm bắt và học nhúng thì ta bắt đầu từ C/C++
Vậy các anh chị cho mình hỏi ,nếu muốn học về ML nhận dạng khuôn mặt hay các thuật toán phức tạp khác
thì MÌNH NÊN NẮM BẮT PHẦN NỀN SẼ BAO GỒM NHỮNG GÌ Ạ?
Mình cảm ơn những ý kiến đóng góp của mọi người !

The only pre-requisites to start learning ML are:

Basic Linear Algebra - Having a good knowledge of linear algebra would be very helpful. For the beginning topics of ML like regression analysis, etc; knowing the basics of Linear Algebra would suffice. But as one goes on to more deeper in ML, a bit more knowledge of LA would be required.

Programming Experience - Prior programming experience would be very useful. People mostly program in Python, Java and R. But Python and R clearly stand out to be the leaders in the recent days. Learning Python is very easy and shouldn’t take more than two months to get through with the basics.

Statistics and Probability - ML is all about Stats and Probability. So, having a prior knowledge in that area would come very handy. One need to be pretty good in identifying distributions and deal with them.

Having a solid Math background is very important for any starter in ML or AI. Don’t panic if you don’t have one, both of us are in the same league. Just take the online math courses at Coursera, Udacity and Khan Academy; they would be sufficient.

https://www.quora.com/What-are-prerequisites-to-start-learning-machine-learning

1 Like

Những khóa online phần lớn chỉ để ôn tập hoặc lấy nền tảng cho nhanh, chứ nếu muốn đầu tư thật sự thì nên đọc sách, và làm thật nhiều bài tập trong sách!

Có 2 vấn đề lớn trong ML nói chung:
Toán: ma trận (hay còn gọi là đại số tuyến tính) và xác suất, để học tốt xác suất thì cần có kiến thức tốt về giải tích, về vi phân và tích phân
Lập trình: nếu làm computer vision thì nên bắt đầu với C/C++, sau này đỡ phải chuyển từ Python qua! Học tốt nền tảng, OOP, sau đó thì qua học 1 số thư viện parallel GPU như OpenCL hay CUDA!

1 số quyển sách hay:
Linear algebra: https://www.amazon.com/Manga-Guide-Linear-Algebra/dp/1593274130/ref=sr_1_1?s=books&ie=UTF8&qid=1510338575&sr=1-1&keywords=linear+algebra+manga

Giải tích: https://www.amazon.com/Calculus-Ron-Larson/dp/1285057090/ref=sr_1_1?ie=UTF8&qid=1510338604&sr=8-1&keywords=Calculus

Xác suất thống kê: https://www.amazon.com/Fundamentals-Applied-Probability-Random-Processes-ebook/dp/B00L9YRNHY/ref=sr_1_1?ie=UTF8&qid=1510338637&sr=8-1&keywords=applied+probability+ibe

Computer vision: some OpenCV books:

  • Learning OpenCV 3 Application Development
  • OpenCV essentials
  • OpenCV by example

1 thư viện quan trọng khác đó là dlib: http://dlib.net/
Sau khi học hết các phần trên, muốn xuống deep learning thì học CUDA trước, và chọn thư viện sau đây cho Convolutional neural network: https://github.com/dnouri/cuda-convnet

Nhiêu đây đủ mất từ 1-2 năm rồi, chúc em thành công!

1 Like

Em cảm ơn những đóng góp chân thành cũng như những tài liệu quí báu của anh , em cảm ơn !

Cảm ơn những góp ý của anh!

@hitman17528 anh cho em hỏi thêm 1 tý ,em muốn code trên matlab và muốn học về nhận diện xe oto qua thuật toán HOG và SVM ,a có thể chỉ e các bước tiếp cận đầu tiên được không ạ ??

Nè em, có nguyên 1 bài tên như thế này, lần sau em cứ search nguyên tên đề tài lên google! Còn nếu thấy khó quá chưa tiếp cận dc thì tiếp cận từng cái 1, ví dụ HOG là gì, SVM là gì, code ra sao!

Khuyên em ko nên dùng Matlab vì 1 là nó đắt tiền, 2 là khả năng mở rộng khá thấp vì Matlab khá chậm, hơn nữa khả năng tương tác với các ngôn ngữ khác kém! Matlab dc sử dụng chủ yếu để làm prototype thôi, còn làm product thật thì phải dùng C/C++

1 Like

Dạ em cảm ơn anh nhiều !

83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?