Thuật ngữ ML được đặt ra bởi Arthur Samuel vào năm 1959, một nhà tiên phong người Mỹ trong lĩnh vực trò chơi máy tính và trí tuệ nhân tạo và tuyên bố rằng “nó mang lại cho máy tính khả năng học hỏi mà không cần được lập trình rõ ràng”.
Và vào năm 1997, Tom Mitchell đã đưa ra một định nghĩa toán học và quan hệ “đúng đắn” rằng “Một chương trình máy tính được cho là học hỏi từ kinh nghiệm E đối với một số nhiệm vụ T và một số phép đo hiệu suất P, nếu hiệu suất của nó trên T, được đo bằng P, cải thiện theo kinh nghiệm E.
Máy học(Machine Learning – ML)là một từ thông dụng mới nổi trên khắp thế giới. Nó xứng đáng, vì nó là một trong những lĩnh vực con thú vị nhất của Khoa học Máy tính. Vậy ML thực sự có nghĩa là gì?
Hãy cố gắng hiểu ML theo thuật ngữ như người bình thường. Xem xét ví dụ bạn đang cố ném một tờ giấy vào thùng rác.
Sau lần thử đầu tiên, bạn nhận ra rằng bạn đã đặt quá nhiều lực vào nó. Sau lần thứ hai, bạn nhận ra mình đang ở gần mục tiêu hơn nhưng bạn cần tăng góc ném của mình. Điều đang xảy ra ở đây về cơ bản là sau mỗi lần ném chúng ta học được điều gì đó và cải thiện kết quả cuối cùng. Chúng ta được lập trình để học hỏi từ kinh nghiệm của mình.
Điều này ngụ ý rằng các nhiệm vụ liên quan đến ML đưa ra một định nghĩa hoạt động cơ bản hơn là xác định lĩnh vực này theo thuật ngữ nhận thức. Điều này tuân theo đề xuất của Alan Turing trong bài báo “Máy tính và trí thông minh” của ông, trong đó câu hỏi “Máy móc có thể suy nghĩ không?” được thay thế bằng câu hỏi “Máy móc có thể làm những gì chúng ta (với tư cách là các thực thể tư duy) có thể làm không?”
Trong lĩnh vực phân tích dữ liệu, ML được sử dụng để tạo ra các mô hình và thuật toán phức tạp có thể tự dự đoán; trong sử dụng thương mại, đây được gọi là phân tích dự đoán. Các mô hình phân tích này cho phép các nhà nghiên cứu, nhà khoa học dữ liệu, kỹ sư và nhà phân tích “đưa ra các quyết định và kết quả đáng tin cậy, có thể lặp lại” và khám phá “thông tin chi tiết tiềm ẩn” thông qua việc học hỏi từ các mối quan hệ và xu hướng lịch sử trong tập dữ liệu (đầu vào).
Giả sử rằng bạn quyết định xem ưu đãi đó cho một kỳ nghỉ. Bạn duyệt qua trang web của công ty du lịch và tìm kiếm một khách sạn. Khi bạn xem xét một khách sạn cụ thể, ngay bên dưới phần mô tả khách sạn có một phần có tiêu đề “Bạn cũng có thể thích những khách sạn này”. Đây là một trường hợp sử dụng phổ biến của ML được gọi là “Công cụ đề xuất”. Một lần nữa, nhiều điểm dữ liệu đã được sử dụng để đào tạo mô hình nhằm dự đoán đâu sẽ là khách sạn tốt nhất để hiển thị cho bạn trong phần đó, dựa trên nhiều thông tin mà họ đã biết về bạn.
Vì vậy, nếu bạn muốn chương trình của mình dự đoán, chẳng hạn như các mẫu giao thông tại một giao lộ đông đúc (nhiệm vụ T), bạn có thể chạy nó thông qua một thuật toán ML với dữ liệu về các mẫu giao thông trong quá khứ (trải nghiệm E) và nếu nó đã “học thành công ”, Sau đó nó sẽ làm tốt hơn trong việc dự đoán các mẫu lưu lượng truy cập trong tương lai (thước đo hiệu suất P).
Tuy nhiên, bản chất phức tạp hơn của nhiều vấn đề trong thế giới thực thường có nghĩa là việc phát minh ra các thuật toán chuyên biệt có thể giải quyết chúng hoàn hảo mọi lúc là không thực tế, nếu không muốn nói là không thể. Ví dụ về các vấn đề ML bao gồm, “Đây có phải là bệnh ung thư không?”, “Ai trong số những người này là bạn tốt của nhau?”, “Liệu người này có thích bộ phim này không?” những vấn đề như vậy là mục tiêu tuyệt vời cho ML và trên thực tế, ML đã được áp dụng những vấn đề như vậy thành công rực rỡ.
Phân loại ML
Việc triển khai ML được phân loại thành ba loại chính, tùy thuộc vào bản chất của “tín hiệu” hoặc “phản hồi” có sẵn cho một hệ thống học tập như sau:
- Học có giám sát: Khi một thuật toán học từ dữ liệu mẫu và các phản hồi mục tiêu được liên kết có thể bao gồm các giá trị số hoặc nhãn, chẳng hạn như các lớp hoặc thẻ, để sau này dự đoán phản hồi chính xác một bài viết nào đó thuộc lớp hoặc thẻ nào đó bằng các ví dụ đầu vào của Học có giám sát . Cách tiếp cận này thực sự tương tự như cách học của con người dưới sự giám sát của giáo viên. Giáo viên đưa ra các ví dụ điển hình để học sinh ghi nhớ và học sinh sau đó rút ra các quy tắc chung từ các ví dụ cụ thể này.
- Học không giám sát: Trong khi khi một thuật toán học từ các ví dụ đơn giản mà không có bất kỳ phản hồi liên quan nào, hãy để thuật toán tự xác định các mẫu dữ liệu. Loại thuật toán này có xu hướng tái cấu trúc dữ liệu thành một thứ khác, chẳng hạn như các tính năng mới có thể đại diện cho một lớp hoặc một loạt các giá trị không tương quan mới. Chúng khá hữu ích trong việc cung cấp cho con người những hiểu biết sâu sắc về ý nghĩa của dữ liệu và các đầu vào hữu ích mới cho các thuật toán ML được giám sát.
Là một loại học tập, nó giống với các phương pháp con người sử dụng để tìm ra rằng các đối tượng hoặc sự kiện nhất định thuộc cùng một lớp, chẳng hạn như bằng cách quan sát mức độ giống nhau giữa các đối tượng. Một số hệ thống đề xuất mà bạn tìm thấy trên web dưới dạng tự động hóa tiếp thị dựa trên loại hình học tập này.
- Học tập cố định: Khi bạn trình bày thuật toán với các ví dụ thiếu nhãn, như trong học tập không có giám sát. Tuy nhiên, bạn có thể kèm theo một ví dụ với phản hồi tích cực hoặc tiêu cực tùy theo giải pháp mà thuật toán đề xuất nằm trong mục Học tập cố định, được kết nối với các ứng dụng mà thuật toán phải đưa ra quyết định (vì vậy, sản phẩm mang tính mô tả, không chỉ mô tả, như trong học tập không có giám sát), và các quyết định mang lại hậu quả. Trong thế giới con người, nó giống như học bằng cách thử và sai.
Sai sót giúp bạn học hỏi vì chúng bị phạt thêm (tốn kém, mất thời gian, hối hận, đau đớn, v.v.), dạy bạn rằng một hành động nhất định ít có khả năng thành công hơn những hành động khác. Một ví dụ thú vị về học tăng cường xảy ra khi máy tính tự học cách chơi trò chơi điện tử.
Trong trường hợp này, một ứng dụng trình bày thuật toán với các ví dụ về các tình huống cụ thể, chẳng hạn như người chơi bị mắc kẹt trong mê cung trong khi tránh kẻ thù. Ứng dụng cho phép thuật toán biết kết quả của các hành động mà nó thực hiện và việc học tập xảy ra trong khi cố gắng tránh những gì nó phát hiện ra là nguy hiểm và theo đuổi sự sống còn. Bạn có thể xem cách công ty Google DeepMind đã tạo ra một chương trình học tăng cường chơi các trò chơi điện tử cũ của Atari. Khi xem video, hãy chú ý cách chương trình ban đầu còn vụng về và không có kỹ năng nhưng dần dần cải thiện qua quá trình đào tạo cho đến khi trở thành quán quân.
- Học bán giám sát: khi một tín hiệu đào tạo không đầy đủ được đưa ra: một tập hợp đào tạo với một số (thường là nhiều) đầu ra mục tiêu bị thiếu. Có một trường hợp đặc biệt của nguyên tắc này được gọi là Transduction, trong đó toàn bộ tập hợp các trường hợp vấn đề được biết tại thời điểm học, ngoại trừ một phần của các mục tiêu bị thiếu.
Phân loại dựa trên đầu ra yêu cầu:
Một phân loại khác của ML khi người ta xem xét đầu ra mong muốn của một hệ thống ML:
- Phân loại: Khi đầu vào được chia thành hai hoặc nhiều lớp và người học phải tạo ra một mô hình chỉ định đầu vào không nhìn thấy cho một hoặc nhiều (phân loại nhiều nhãn) của các lớp này. Điều này thường được giải quyết theo cách có giám sát. Lọc thư rác là một ví dụ về phân loại, trong đó đầu vào là thư email (hoặc khác) và các lớp là “thư rác” và “không phải thư rác”.
- Hồi quy: Đây cũng là một vấn đề được giám sát, Một trường hợp khi các đầu ra là liên tục chứ không phải là rời rạc.
- Phân cụm: Khi một tập hợp các đầu vào được chia thành các nhóm. Không giống như trong phân loại, các nhóm không được biết trước, khiến đây thường là một nhiệm vụ không được giám sát.
ML xuất hiện khi các vấn đề không thể được giải quyết bằng các phương pháp tiếp cận điển hình.
Cài ứng dụng cafedev để dễ dàng cập nhật tin và học lập trình mọi lúc mọi nơi tại đây.
Nguồn và Tài liệu tiếng anh tham khảo:
Tài liệu từ cafedev:
- Full series tự học Python từ cơ bản tới nâng cao tại đây nha.
- Tự học ML bằng Python từ cơ bản tới nâng cao.
- Ebook về python tại đây.
- Các series tự học lập trình MIỄN PHÍ khác
- Nơi liên hệ hợp tác hoặc quảng cáo cùng Cafedevn tại đây.
Nếu bạn thấy hay và hữu ích, bạn có thể tham gia các kênh sau của cafedev để nhận được nhiều hơn nữa:
Chào thân ái và quyết thắng!