Học máy (machine learning) là gì?

Học máy là các thuật toán được triển khai dưới dạng mô hình theo cách mà các mô hình này có thể học từ dữ liệu đào tạo và đưa ra dự đoán trên dữ liệu không nhìn thấy, điều này mà không cần đưa ra hướng dẫn rõ ràng.

Máy học dựa trên khai thác dữ liệu, toán học, thống kê và lập trình. Khai phá dữ liệu là một quá trình để tìm các mẫu, mối quan hệ và xu hướng trong các tập dữ liệu lớn.

Máy học nằm trong số những thứ khác được sử dụng để phát hiện spam, phân loại hình ảnh, phát hiện ung thư da, phát hiện đối tượng trong hình ảnh, phân loại văn bản, phát hiện ngôn ngữ, dịch văn bản và sáng tạo nghệ thuật.

Lịch sử

Alan Turing đã xuất bản cuốn “Computing Machinery and Intelligence” vào năm 1950 và được coi là cha đẻ của trí tuệ nhân tạo. Alan Turing rất muốn biết liệu máy móc có thể suy nghĩ hay không và ông đã giới thiệu phép thử Turing. Một cỗ máy được cho là đã vượt qua bài kiểm tra Turing nếu một người đang trò chuyện mà nó nghĩ rằng đó là con người.

Thuật ngữ “máy học” được Arthur Lee Samuel giới thiệu lần đầu tiên vào năm 1959. Chương trình tự học của Arthur Lee Samuel: cho Checkers là một trong những chương trình đầu tiên trên thế giới chứng minh trí thông minh nhân tạo (AI).

Tom Michael Mitchell đã xuất bản cuốn sách Machine Learning vào năm 1997 và ông đưa ra định nghĩa chính thức về máy học: “Một chương trình máy tính được cho là học hỏi kinh nghiệm từ E đối với một số loại nhiệm vụ T và đo hiệu suất P nếu hiệu suất của nó ở các tác vụ trong T , như được đo bằng P, cải thiện với trải nghiệm E ”.

Học tập có giám sát và không giám sát (Supervised and unsupervised learning)

Máy học được cho là có giám sát nếu tập dữ liệu đào tạo bao gồm cả dữ liệu đầu vào và đầu ra. Dữ liệu đào tạo bao gồm các câu trả lời chính xác trong học tập có giám sát và điều đó có nghĩa là tập dữ liệu có thể cần được chuẩn bị bởi những người có chuyên môn trong lĩnh vực thực tế. Ví dụ, nếu chúng ta muốn phát hiện ung thư da trong hình ảnh thì ai đó làm thế nào biết cách phát hiện ung thư da phải chú thích tập dữ liệu này.

Học không giám sát lấy một tập dữ liệu chỉ bao gồm dữ liệu đầu vào và áp dụng một thuật toán để tạo ra đầu ra. Các thuật toán học không giám sát cố gắng tìm các cấu trúc trong dữ liệu đầu vào để tạo ra các nhóm hoặc cụm. Ví dụ, chúng ta có thể sử dụng phương pháp học không giám sát để phân loại các tin bài trong các nhóm (cụm) với các bài báo tương tự nhau trong mỗi nhóm.

Phân loại và hồi quy (Classification and regression)

Vấn đề phân loại đề cập đến đầu ra phân loại, dữ liệu phân loại có thể là dữ liệu danh nghĩa hoặc dữ liệu thứ tự. Dữ liệu phân loại có thể được biểu diễn bằng các con số nhưng những con số này không có bất kỳ ý nghĩa toán học nào. Mỗi phần tử trong tập dữ liệu phải được phân loại thành một danh mục nhưng không được xếp vào nhiều hơn một danh mục (loại trừ lẫn nhau và toàn bộ).

Dữ liệu danh nghĩa là loại dữ liệu nguyên thủy nhất và chỉ có thể được phân loại và tóm tắt về số lượng quan sát. Dữ liệu danh nghĩa được chia thành các danh mục như màu sắc, giới tính và thương hiệu.

Dữ liệu thứ tự có thể được phân loại và xếp hạng, do đó người ta có thể nói rằng một danh mục này tốt hơn một danh mục khác. Đối với dữ liệu thứ tự, chúng tôi không thể nói một danh mục tốt hơn bao nhiêu so với một danh mục khác. Một ví dụ về dữ liệu thứ tự là điểm ở trường.

Các bài toán phân lớp chỉ có hai loại được gọi là bài toán nhị phân và các bài toán khác được gọi là bài toán nhiều lớp. Các vấn đề về phân loại có thể là phân loại các bài báo, phát hiện thư rác và phân loại hình ảnh.

Các bài toán hồi quy giải quyết đầu ra dữ liệu số, dữ liệu số có thể là dữ liệu khoảng thời gian hoặc dữ liệu tỷ lệ. Các biến số có thể rời rạc hoặc liên tục. Các biến rời rạc chỉ có thể giả định một số giá trị được phân tách rõ ràng (số nguyên), các biến liên tục có thể giả định bất kỳ giá trị nào trong một phạm vi.

Dữ liệu khoảng thời gian là mức dữ liệu cao thứ hai, chúng ta có thể xếp hạng dữ liệu nội bộ và có thể đo lường sự khác biệt giữa hai giá trị. Một ví dụ về dữ liệu khoảng thời gian là nhiệt độ. Tỷ lệ giữa hai giá trị dữ liệu khoảng thời gian không cung cấp bất kỳ thông tin hữu ích nào.

Dữ liệu tỷ lệ là mức dữ liệu cao nhất. Dữ liệu tỷ lệ có thể được xếp hạng, có thể đo lường sự khác biệt giữa hai giá trị và nó có ý nghĩa để tính toán tỷ lệ giữa hai giá trị của dữ liệu tỷ lệ. Ví dụ về dữ liệu tỷ lệ là tiền lương, doanh thu, cân nặng và chiều cao.

Hồi quy có nghĩa là các giá trị sẽ trở về mức trung bình, cha mẹ cao sẽ có con thấp hơn và cha mẹ thấp sẽ có con cao hơn. Phân tích hồi quy có nghĩa là chúng ta muốn tìm hàm phù hợp nhất với dữ liệu đầu vào. Các bài toán hồi quy có thể là dự đoán giá cổ phiếu, dự đoán giá sản phẩm dựa trên các thuộc tính và dự đoán nhiệt độ.

Chúng ta cần sử dụng cả phân loại và hồi quy trong một số bài toán học máy. Trong các bài toán phát hiện đối tượng, một mô hình phải dự đoán đối tượng là gì (con mèo) và nó ở đâu (hộp giới hạn).

Overfitting và underfitting

Mục tiêu của các thuật toán học máy là tạo ra một mô hình hoàn hảo để đưa ra dự đoán trên dữ liệu không nhìn thấy. Tổng quát hóa đề cập đến khả năng của một mô hình để thích ứng với dữ liệu mới.

Một mô hình được đào tạo trên một tập dữ liệu đào tạo đã thấy và mức độ tổng quát hóa có thể kém hoàn hảo hơn nếu chúng ta trang bị thiếu hoặc trang bị quá mức cho mô hình. Không phù hợp có nghĩa là một mô hình là đơn giản và do đó không thể học tốt từ dữ liệu đào tạo. Overfitting có nghĩa là mô hình của chúng tôi có sự phù hợp gần như hoàn hảo về dữ liệu đào tạo nhưng lại hoạt động kém trên dữ liệu không nhìn thấy được, mô hình quá phức tạp và không tốt trong việc tổng quát hóa.

Việc thiếu trang bị tốt nhất được ngăn chặn bằng cách làm cho mô hình phức tạp hơn (cập nhật dữ liệu đầu vào và thay đổi các tham số) và đánh giá hiệu suất trên tập hợp đào tạo / xác nhận. Việc trang bị quá mức được ngăn chặn tốt nhất bằng cách sử dụng xác thực. Việc xác thực có thể được thực hiện bằng cách tách tập huấn luyện trong tập huấn luyện và tập xác nhận hoặc sử dụng xác nhận chéo. Xác thực chéo rất mạnh mẽ và có nghĩa là bạn không phải lãng phí bất kỳ dữ liệu đào tạo nào khi xác thực. Xác thực chéo có thể là một quá trình tốn thời gian và quá trình phân chia đào tạo / xác thực có thể tốt hơn nếu bạn có nhiều dữ liệu đào tạo.

Tách tập dữ liệu (Dataset splits)

Một tập dữ liệu thường được chia thành tập dữ liệu đào tạo và tập dữ liệu kiểm tra. Tập dữ liệu thử nghiệm sẽ không bao giờ được sử dụng trong đào tạo, tập dữ liệu thử nghiệm được sử dụng để so sánh hiệu suất của các mô hình khác nhau. Tập dữ liệu thử nghiệm được sử dụng trong các cuộc thi để tuyên bố người chiến thắng.

Tỷ lệ phân chia phổ biến là 80/20, 80% tập dữ liệu được sử dụng để đào tạo và 20% tập dữ liệu được sử dụng để kiểm tra. Tỷ lệ tương tự có thể được sử dụng nếu bạn muốn tách tập dữ liệu đào tạo trong một tập hợp tàu và tập hợp xác nhận. Một phân tách đào tạo / xác thực là không cần thiết nếu bạn có thể / muốn sử dụng xác thực chéo.

Xác nhận chéo có nghĩa là tập dữ liệu đào tạo được chia thành các nhóm có kích thước bằng nhau (k), xác nhận được thực hiện trên một nhóm và đào tạo được thực hiện trên các nhóm còn lại (k-1). Nó là một quá trình lặp đi lặp lại k-lần, vì vậy mỗi nhóm sẽ là một bộ xác nhận một lần.