Học Machine Learning trong 1 tuần (Phần 1)
Học Machine learning trong 1 tuần?!
Mình thấy một bài khá hay của tác giả
Machine Learning trước tới nay luôn được xem là lĩnh vực chuyên gia và khó tiếp cận đối với một người chưa có nền tảng gì. Thế nhưng Pe
Dưới đây là lộ trình học machine learning trong 1 tuần đầu tiên của anh ấy. Mình sẽ viết dưới giọng văn của tác giả để dễ truyền đạt.
Bắt đầu nào!~~
Trước khi bắt đầu:
Trước khi bắt đầu tuần học machine learning của mình, tôi đã có đọc qua về nó và có xem được nửa khóa học của Andrew Ng's trên Coursera. Thế nên cũng có thể nói tôi có "một chút" nền tảng về học máy. Tuy nhiên tôi không thể chuyển đổi bất kì kiến thức hay lý thuyết nào trên đó thành code. Đó mới là vấn đề.
(Mình tin là đa số các bạn mới học về ML đều gặp phải tình huống này)
Điều tôi mong muốn là có thể giải quyết được mốt số bài toán thực tế khi kết thúc tuần học này, mặc dù nó sẽ bỏ qua rất nhiều các nguyên tắc cơ bản, và sẽ tiếp cận từ trên xuống (top-down) thay vì từ dưới lên(bottoms-up).
From Người dịch:
Bạn biết đấy, mình rất đồng tình với tác giả điều này, với mình cách tiếp cận này hiệu quả, không nên cố nhồi nhét quá nhiều lý thuyết trong khi bạn chưa có khả năng sử dụng nó. Hãy tiếp cận ngược lại, khi bạn đã thích nó, tự ắt bạn sẽ lao đầu vào tìm hiểu cặn cẽ nó là gì. :D
Sau khi tham khảo trên trang Hacker News, tôi đi tới kết luận rằng thư viện Scikit của Python là điểm khởi đầu hoàn hảo. Thư viện này cung cấp cho bạn tàng tá thuật toán học máy và giảm thiểu việc code xuống chỉ còn vài dòng!
Thứ hai: Học cái gì đó thực tiễn
Tôi bắt đầu tuần học với việc tìm kiếm video hướng dẫn về thư viện Scikit-learn. Cuối cùng tôi dừng chân tại các video của
Cái hay ở các video của Sentdex đó là anh ấy sẽ hướng dẫn bạn đi qua hết tất cả các bước, và đặc biệt là thu thập dữ liệu. Để sau đó bạn sẽ nhận ra là việc thu thập dữ liệu còn tốn thời gian hơn nhiều nhiều lần việc code. Vậy nên kĩ năng viết script để xử lý dữ liệu có sẵn hoặc crawl dữ liệu từ web là kĩ năng hết sức cần thiết cho việc tự học machine learning.
Tôi còn xem lại video này nhiều lần sau đó, vì nó giúp tôi giải quyết khá nhiều vấn đề, tôi khuyên bạn cũng nên làm thế.
Nói vậy, nhưng nếu bạn đã có sẵn các kĩ năng này rồi thì những thứ này có lẽ sẽ k hữu ích lắm, vậy nên trong trường này tôi khuyên bạn nên bắt đầu với
Thứ ba: Áp dụng vào bài toán thực tế
Thứ ba, tôi muốn xem những kiến thức của mình đã học ngày hôm qua có thể giải quyết được vấn đề thực tế nào không. Tình cờ một người bạn của tôi, cũng là coder và đang làm việc trên một tập dữ liệu của ngân hàng Anh. Thế là tôi lập team với anh ấy và ngồi "nghịch" với bộ dữ liệu này. Tập dữ liệu bọn tôi thấy thú vị nhất là bộ khảo sát các hộ gia đình của ngân hàng hằng năm. Ghi lại các thông tin của hộ gia đình và chủ đề tiền bạc của họ.
Từ bộ dữ liệu này, bọn tôi quyết định giải quyết bài toán:
"Với đầu vào là Trình độ học vấn, tuổi, thu nhập hãy dự án giới tính của người đó là gì?"
Tôi đã ngồi "chơi" hàng giờ với tập dữ liệu để xử lý và làm bộ dữ liệu sạch hơn và chính xác hơn. sau đó sử dụng thư viện Scikit-learn để chọn ra một thuật toán phù hợp.
Chúng tôi hoàn thiện và cho ra kết quả với độ chính xác quanh mức 63%, không ấn tượng lắm phải không. Nhưng chiếc máy tính của chúng tôi ít ra đã làm tốt hơn mức bình thường khi tung một đồng xu là 50% đúng không nào.
Nhìn thấy kết quả như là nhiên liệu cho động lực của bạn. vì vậy tôi khuyên bạn nên tự thực hiện việc này và có cho mình những kiên thức cơ bản về Scikit-learn
===> Đó chính là một khoảnh khắc quan trọng khi bạn nhận ra mình bắt đầu sử dụng ML để giải quyết vấn đề trong cuộc sống.
Mình sẽ chia bài viết thành 02 phần, phần tiếp theo bao gồm nội dung các ngày học thứ tư, năm và sáu. Ngay sau bài viết này bạn có thể học theo và ứng dụng Machine learning vào một bài toán đơn giản giống như tác giả rồi đấy, thử nhé!