Machine learning hoạt động thế nào
Chúng ta hãy xây dựng dựa trên ví dụ về bia và rượu ở trên để hiểu Machine learning hoạt động thế nào
Ba thành phần chính của hệ thống Học máy là mô hình, tham số và người học.
- Mô hình là hệ thống đưa ra các dự đoán
- Các tham số là các yếu tố được mô hình xem xét để đưa ra các dự đoán
- Người học thực hiện các điều chỉnh tham số và mô hình để điều chỉnh các dự đoán với kết quả thực tế
Chúng ta hãy xây dựng dựa trên ví dụ về bia và rượu ở trên để hiểu cách hoạt động của ML. Mô hình học máy ở đây phải dự đoán xem đồ uống là bia hay rượu. Các tham số được chọn là màu của đồ uống và phần trăm cồn. Bước đầu tiên là:
Tìm hiểu từ tập huấn luyện
Điều này liên quan đến việc lấy một tập dữ liệu mẫu của một số đồ uống được chỉ định màu sắc và tỷ lệ phần trăm cồn. Bây giờ, chúng ta phải xác định mô tả của từng phân loại, đó là rượu và bia, về giá trị của các tham số cho từng loại. Mô hình có thể sử dụng mô tả để quyết định xem đồ uống mới là rượu hay bia.
Bạn có thể biểu thị các giá trị của các tham số: phần trăm ‘color’ và ‘alcohol lần lượt là ‘x’ và ‘y’. Sau đó (x,y) xác định các tham số của từng loại đồ uống trong dữ liệu huấn luyện. Tập dữ liệu này được gọi là tập huấn luyện. Các giá trị này khi được vẽ trên biểu đồ sẽ trình bày giả thuyết dưới dạng một đường thẳng, một hình chữ nhật hoặc một đa thức phù hợp nhất với kết quả mong muốn.
Bước thứ hai là đo lỗi
Sau khi mô hình được huấn luyện trên một tập huấn luyện xác định, nó cần được kiểm tra sự khác biệt và sai sót. Chúng ta sử dụng một tập dữ liệu mới để thực hiện nhiệm vụ này. Kết quả của bài kiểm tra này sẽ là một trong bốn kết quả sau:
- True Positive: Khi mô hình dự đoán điều kiện, nó xảy ra
- True Negative: Khi mô hình không dự đoán điều kiện và nó không xảy ra
- False Positive: Khi mô hình dự đoán một điều kiện và nó không xảy ra nó vắng mặt
- False Negative: Khi mô hình không dự đoán một điều kiện mà nó lại xảy ra


FP và FN là tổng sai số của mô hình
Quản lý nhiễu
Để đơn giản, chúng ta chỉ xem xét hai tham số để tiếp cận một bài toán học máy ở đây là màu sắc và tỷ lệ phần trăm cồn. Nhưng trên thực tế, bạn sẽ phải xem xét hàng trăm tham số và một tập hợp lớn dữ liệu học tập để giải quyết bài toán học máy.
- Giả thuyết được tạo ra sau đó sẽ có nhiều sai sót hơn do nhiễu. Nhiễu là những dị thường không mong muốn, che giấu mối quan hệ cơ bản trong tập dữ liệu và làm suy yếu quá trình học tập. Những lý do khiến nhiễu xảy ra là:
- Tập dữ liệu huấn luyện lớn
- Lỗi trong dữ liệu đầu vào
- Lỗi gán nhãn dữ liệu
- Các thuộc tính không thể quan sát có thể ảnh hưởng đến phân loại nhưng không được xem xét trong tập huấn luyện do thiếu dữ liệu
Bạn có thể chấp thuận một mức độ lỗi huấn luyện nhất định do nhiễu để giữ cho giả thuyết càng đơn giản càng tốt.
Kiểm tra và Khái quát hóa
Mặc dù thuật toán hoặc giả thuyết có thể khớp với tập huấn luyện, nhưng nó có thể không thành công khi áp dụng cho một tập dữ liệu khác bên ngoài tập huấn luyện. Do đó, cần tìm hiểu xem thuật toán có khớp với dữ liệu mới hay không, đây là cách để đánh giá điều này. Ngoài ra, khái quát hóa đề cập đến mức dự đoán của mô hình cho một tập dữ liệu mới.
Khi khớp một thuật toán giả thuyết, để đơn giản tối đa, nó có thể có ít lỗi hơn đối với dữ liệu huấn luyện, nhưng có thể xuất hiện nhiều lỗi nghiêm trọng hơn trong khi xử lý dữ liệu mới. Chúng tôi gọi điều này là underfitting. Mặt khác, nếu giả thuyết quá phức tạp và không khớp với kết quả huấn luyện, nó có thể không khái quát hóa tốt. Trường hợp này là over-fitting. Trong cả hai trường hợp, kết quả được cung cấp lại để huấn luyện thêm cho mô hình.
Ngôn ngữ nào tốt nhất cho Machine learning?


Python là ngôn ngữ lập trình tốt nhất cho các ứng dụng Học máy nhờ những lợi ích khác nhau được đề cập trong phần bên dưới. Các ngôn ngữ lập trình khác có thể sử dụng cho Ứng dụng Máy học là R, C++, JavaScript, Java, C#, Julia, Shell, TypeScript và Scala.
Python nổi tiếng về khả năng đọc và độ phức tạp tương đối thấp hơn so với các ngôn ngữ lập trình khác. Các ứng dụng Học máy liên quan đến các khái niệm phức tạp như giải tích và đại số tuyến tính cần rất nhiều nỗ lực và thời gian để lập trình. Python giúp giảm bớt gánh nặng này bằng các lập trình nhanh chóng để kỹ sư ML xác thực ý tưởng. Bạn có thể xem Hướng dẫn về Python để hiểu cơ bản về ngôn ngữ này. Một lợi ích khác của việc sử dụng Python trong ML là các thư viện được tạo sẵn. Có nhiều thư viện khác nhau cho từng ứng dụng khác nhau, như được đề cập dưới đây:
- Numpy, OpenCV và Scikit được sử dụng khi làm việc với hình ảnh
- NLTK cùng với Numpy và Scikit khi làm việc với văn bản
- Librosa cho các ứng dụng âm thanh
- Matplotlib, Seaborn và Scikit để biểu diễn dữ liệu
- TensorFlow và Pytorch cho các ứng dụng Học sâu
- Scipy cho Scientific Computing
- Django để tích hợp các ứng dụng web
- Pandas cho phân tích và cấu trúc dữ liệu cấp cao
Python cung cấp sự linh hoạt trong việc lựa chọn giữa lập trình hướng đối tượng hoặc tập lệnh. Cũng không cần phải biên dịch lại code; các nhà lập trình có thể thực hiện bất kỳ thay đổi nào và thấy kết quả ngay lập tức. Bạn có thể sử dụng Python cùng với các ngôn ngữ khác để có chức năng và kết quả mong muốn.
Python là một ngôn ngữ lập trình đa năng và có thể chạy trên bất kỳ nền tảng nào, bao gồm Windows, MacOS, Linux, Unix và các nền tảng khác. Trong khi di chuyển từ nền tảng này sang nền tảng khác, code cần một số điều chỉnh và thay đổi nhỏ, và nó đã sẵn sàng hoạt động trên nền tảng mới.
Dưới đây là tóm tắt về những lợi ích của việc sử dụng Python cho các bài toán Học máy:


Sự khác biệt giữa Machine Learning (ML) và Artificial Intelligence (AI)
AI quản lý các vấn đề toàn diện hơn về việc tự động hóa hệ thống sử dụng các lĩnh vực như khoa học nhận thức, xử lý hình ảnh, học máy hoặc mạng nơ-ron cho tin học. Mặt khác, ML tác động tới máy để thu thập và học hỏi từ môi trường bên ngoài. Môi trường bên ngoài có thể là bất cứ thứ gì như thiết bị lưu trữ bên ngoài, cảm biến, electronic segment, …
Ngoài ra, AI còn tạo điều kiện cho máy móc và cung cấp framework (khuôn khổ) suy nghĩ và thực hiện các nhiệm vụ như con người. Trong khi đó ML phụ thuộc vào các đầu vào mà người dùng cung cấp hoặc yêu cầu truy vấn. Framework hoạt động dựa trên đầu vào bằng cách sàng lọc xem liệu nó có sẵn trong cơ sở tri thức không rồi cung cấp đầu ra.
- Xem thêm: Machine Learning là gì?
Các loại Machine Learning
Trong phần này, chúng ta sẽ tìm hiểu về các cách tiếp cận khác nhau đối với ML và nhiều loại bài toán mà chúng có thể xử lý.
Supervised Learning (Học có giám sát) là gì?
Mô hình học có giám sát có một tập hợp các biến đầu vào (x) và một biến đầu ra (y). Thuật toán sẽ xác định hàm ánh xạ giữa các biến đầu vào và đầu ra. Mối quan hệ là y = f(x).
Việc học được theo dõi hoặc giám sát để chúng ta biết kết quả đầu ra và thuật toán được điều chỉnh mỗi lần tối ưu hóa kết quả của nó. Thuật toán được huấn luyện qua tập dữ liệu và được sửa đổi cho đến khi nó đạt được chất lượng có thể chấp nhận.


Chúng ta có thể nhóm các bài toán học có giám sát thành:
- Regression (hồi quy) – Được sử dụng để dự đoán các giá trị trong tương lai và mô hình được huấn luyện với dữ liệu lịch sử. Ví dụ: Dự đoán giá tương lai của sản phẩm.
- Classification (phân loại) – Các nhãn khác nhau huấn luyện thuật toán để xác định các mục trong một hạng mục cụ thể. Ví dụ: Có bệnh hoặc không có bệnh, Táo hoặc cam, Bia hoặc rượu.
Unsupervised Learning (Học không giám sát) là gì?
Đây là phương pháp mà đầu ra không xác định, và chúng ta chỉ có biến đầu vào. Thuật toán tự học và khám phá cấu trúc ấn tượng trong dữ liệu. Mục đích là giải mã sự phân bố cơ bản trong dữ liệu để có thêm kiến thức về dữ liệu.
Chúng ta có thể nhóm các bài toán học không có giám sát thành:
- Clustering (Phân cụm): Nghĩa là gộp các biến đầu vào có cùng đặc điểm lại với nhau. Ví dụ: nhóm người dùng dựa trên lịch sử tìm kiếm
- Association (Liên kết): Ở đây, chúng ta khám phá các quy tắc chi phối các liên kết có ý nghĩa giữa các tập dữ liệu. Ví dụ: Những người xem ‘X’ cũng sẽ xem ‘Y.’
Semi-supervised Learning (Học bán giám sát) là gì?
Trong học bán giám sát, các nhà khoa học dữ liệu huấn luyện mô hình với một lượng tối thiểu dữ liệu được gắn nhãn và một lượng lớn dữ liệu không được gắn nhãn. Thông thường, bước đầu tiên là phân cụm các dữ liệu tương tự với sự trợ giúp của thuật toán học máy không giám sát. Bước tiếp theo là gắn nhãn cho dữ liệu không được gắn nhãn bằng cách sử dụng các đặc điểm của dữ liệu được gắn nhãn hạn chế có sẵn. Sau khi gắn nhãn dữ liệu hoàn chỉnh sẽ sử dụng các thuật toán học có giám sát để giải quyết bài toán.
Reinforcement Learning (Học tăng cường) là gì?
Theo cách tiếp cận này, các mô hình học máy được huấn luyện để đưa ra một loạt quyết định dựa trên phần thưởng và phản hồi mà chúng nhận được cho các hành động của mình. Các máy học được cách đạt được mục tiêu trong các tình huống phức tạp và không chắc chắn, và được thưởng mỗi khi nó đạt được mục tiêu đó trong suốt thời gian học.
Học tăng cường khác với học có giám sát ở chỗ là không có sẵn câu trả lời, vì vậy tác nhân tăng cường sẽ quyết định các bước để thực hiện một tác vụ. Máy sẽ học hỏi từ kinh nghiệm của chính nó khi không có tập dữ liệu huấn luyện.
Các thuật toán học máy giúp xây dựng các hệ thống thông minh, có thể học hỏi từ kinh nghiệm trong quá khứ và dữ liệu lịch sử của chúng để đưa ra kết quả chính xác. Do đó, nhiều ngành đang áp dụng các giải pháp học máy cho các vấn đề kinh doanh của họ, hoặc để tạo ra các sản phẩm và dịch vụ mới và tốt hơn. Các dịch vụ chăm sóc sức khỏe, quốc phòng, dịch vụ tài chính, tiếp thị và bảo mật, … đều đang áp dụng ML vào các ứng dụng và quy trình của họ.
Nguyễn Hải Nam
Dịch từ bài What is Machine Learning? How Machine Learning Works and future of it?
Tìm hiểu: khoá học Machine Learning cam kết đầu ra với mức lương 12-16 triệu/tháng.






Bình luận (0
)