Những năm gần đây, AI (Artificial Intelligence) và cụ thể hơn Machine Learning nổi lên như một bằng chứng cho cuộc cách mạng công nghiệp lần thứ tư. Trí tuệ nhân tạo đang len lỏi vào mọi lĩnh vực trong đời sống mà có thể chúng ta không nhận ra như: Xe tự hành Tesla, trợ lý ảo Siri của Apple, hệ thống gợi ý sản phẩm của Amazon, hệ thống gợi ý phim của Netfix, máy chơi cờ vây AlphaGo của Google.
Các bài viết liên quan:
Machine learning là một tập con của AI. Nó có khả năng tự học hỏi dựa trên dữ liệu được đưa vào và chúng ta cần phải làm sạch dữ liệu và tìm mô hình đúng đắn. Ứng dụng của học máy những năm gần đây xuất hiện ở khắp mọi nơi từ việc nhận dạng khuôn mặt, vân tay, cử chỉ, giọng nói, xử lí các mô hình ảnh y khoa,… Học máy có thể ứng dụng hầu hết các loại dữ liệu từ cấu trúc (bảng số liệu) và cả dữ liệu phi cấu trúc (hình ảnh, văn bản, tính hiệu âm thanh).
Machine learning là gì?
Machine learning cho phép hệ thống đưa ra quyết định một cách tự chủ mà không cần bất kỳ sự hỗ trợ nào từ bên ngoài.
Các quyết định này được đưa ra khi máy có thể học hỏi từ dữ liệu và hiểu các mẫu cơ bản chứa bên trong nó.
Sau đó, thông qua đối sánh mẫu và phân tích sâu hơn, chúng trả về kết quả có thể là phân loại hoặc dự đoán.
Ý tưởng của học máy là dựa trên một số thuật toán xây dựng mô hình để giải quyết vấn đề cụ thể như: phân lớp, phân loại, hồi quy,…
Xem thêm cách học machine learning
Tại sao lại sử dụng Máy học?
Thế giới ngày nay ngày càng phát triển và nhu cầu , yêu cầu của con người cũng vậy. Hơn nữa, chúng ta đang chứng kiến cuộc cách mạng công nghiệp lần thứ tư về dữ liệu .
Để có được những thông tin chi tiết có ý nghĩa từ dữ liệu này và học hỏi từ cách mà mọi người và hệ thống giao tiếp với dữ liệu , chúng ta cần các thuật toán tính toán có thể xáo trộn dữ liệu và cung cấp cho chúng ta kết quả có lợi cho chúng ta theo nhiều cách khác nhau.
Học máy đã cách mạng hóa các ngành như y học , chăm sóc sức khỏe , sản xuất , ngân hàng và một số ngành khác. Do đó, Học máy đã trở thành một phần thiết yếu của nền công nghiệp hiện đại.
Dữ liệu rất mạnh mẽ và để khai thác sức mạnh của dữ liệu này, được bổ sung bởi sự gia tăng lớn về sức mạnh tính toán, Học máy đã thêm một khía cạnh khác vào cách chúng ta nhận thức thông tin.
Học máy đang được sử dụng ở mọi nơi.
Các thiết bị điện tử bạn sử dụng, các ứng dụng là một phần trong cuộc sống hàng ngày của bạn đều được hỗ trợ bởi các thuật toán học máy mạnh mẽ .
Ví dụ về Học máy – Google có thể cung cấp cho bạn các kết quả tìm kiếm thích hợp dựa trên thói quen duyệt web.
Tương tự, Netflix có khả năng đề xuất các bộ phim hoặc chương trình mà bạn muốn xem dựa trên các thuật toán máy học thực hiện các dự đoán dựa trên lịch sử xem của bạn .
Hơn nữa, học máy đã tạo điều kiện thuận lợi cho việc tự động hóa các tác vụ dư thừa đã làm mất đi nhu cầu lao động chân tay. Tất cả điều này có thể do số lượng lớn các dữ liệu mà bạn tạo ra trên một cơ sở hàng ngày.
Học máy tạo điều kiện thuận lợi cho một số phương pháp luận để hiểu dữ liệu này và cung cấp cho bạn kết quả ổn định và chính xác .
Học máy hoạt động như thế nào?
Với sự gia tăng theo cấp số nhân trong dữ liệu, có một nhu cầu có một hệ thống có thể xử lý này tải lớn của dữ liệu .
Mô hình Machine Learning như sâu Learning cho phép phần lớn các dữ liệu được xử lý với một thế hệ chính xác của dự đoán .
Học máy đã tạo ra một cuộc cách mạng trong cách chúng ta nhận thức thông tin và những hiểu biết khác nhau mà chúng ta có thể thu được từ nó.
Các thuật toán học máy này sử dụng các mẫu có trong dữ liệu đào tạo để thực hiện phân loại và dự đoán trong tương lai . Bất cứ khi nào bất kỳ đầu vào mới nào được đưa vào mô hình ML , nó sẽ áp dụng các mẫu đã học của mình trên dữ liệu mới để đưa ra các dự đoán trong tương lai . Dựa trên độ chính xác cuối cùng, người ta có thể tối ưu hóa các mô hình của mình bằng cách sử dụng các cách tiếp cận tiêu chuẩn hóa khác nhau .
Bằng cách này, mô hình Học máy học cách thích ứng với các ví dụ mới và tạo ra kết quả tốt hơn . Tiếp theo trong hướng dẫn Học máy là các loại của nó.
Data set
Trước khi đi sâu vào machine learning, chúng ta sẽ mô tả ký hiệu của tập dữ liệu được sử dụng trong toàn bộ phần hướng dẫn. Có 2 tập dữ liệu chung: 1 cái có labeled và 1 cái không có labeled (unlabeled)
Trong đó X là tập đặc trưng chứa N mẫu. Mỗi mẫu là một vector d có chiều
x(n)=[x(n)1, x(n)2, …., x(n)d] và được gọi là vectơ đối tượng hoặc đối tượng địa lý, mỗi thành phần của vector được gọi là thuộc tính, tính năng, biến hoặc yếu tố. Y là viết tắt của label set, ghi lại label mà một vector đặc điểm tương ứng đến (màu được chỉ định trên mỗi điểm trong Hình 1). Trong một số ứng dụng, label set không được quan sát hoặc bị bỏ qua. Một dạng khác của tập dữ liệu được gắn labeled được mô tả là {x(n) € Rd, y(n) € R}Nn=1 , mỗi x(n) , y(n) được gọi là một cặp dữ liệu.
Training Set và Test Set
Trong machine learning, 1 tập dữ liệu chung không xác định được giả định là tồn tại, chứa tất cả các cặp dữ liệu có thể có cũng như phân bố xác suất xuất hiện của chúng trong thế giới thực. Trong khi trong các ứng dụng thực tế, những gì chúng tôi quan sát được chỉ là những tập hợp con của tập dữ liệu chung do thiếu bộ nhớ hoặc một số lý do khác. Tập dữ liệu này được gọi là tập dữ liệu training set (training data) và được sử dụng để tìm hiểu các thuộc tính và kiến thức của universal dataset. Nói chung, các vector trong training set được giả định một cách độc lập và được lấy mẫu giống hệt nhau từ tập dữ liệu universal dataset.
Hình 1: Một ví dụ về tập dữ liệu 2 lớp được hiển thị. Trong trường hợp này, mỗi mẫu là một vector 2-D
Trong machine learning, điều chúng tôi mong muốn là những đặc tính này không chỉ có thể giải thích tập hợp training set, nhưng cũng được sử dụng để dự đoán các samples không nhìn thấy hoặc các sự kiện trong tương lai. Để kiểm tra hiệu xuất, 1 dataset có thể được dùng riêng cho testing, được gọi là một bộ thử nghiệm hoặc dữ liệu thử nghiệm. Ví dụ, trước kỳ thi cuối kỳ, giáo viên có thể cung cấp cho học sinh một số câu hỏi để thực hành (training set) và cách đánh giá. Để phân biệt training set và test set chúng tôi sử dụng D và và D để biểu thị chúng tương ứng.
Chúng tôi chưa thảo luận rõ ràng về những loại thuộc tính nào có thể học được từ tập dữ liệu và cách ước tính hiệu suất learning. Trong hình 2, giải thích về 3 tập dữ liệu trên, thuộc tính đầu tiên mà machine có thể learn trong tập dữ liệu labeled
Hình 2 giải thích về 3 tập dữ liệu về labeled.
Tập hợp phổ quát được giả định là tồn tại nhưng không xác định và thông qua quá trình thu thập dữ liệu, chỉ 1 tập hợp con của tập phổ quát được quan sát và sử dụng để training (training set). Có 2 cách để tách dòng (ví dụ đầu tiên về thuộc tính mà machine có thể learn trong hướng dẫn này) được hiển thị trong cả training set và test set. Như bạn thấy, hai dòng này chắc chắn cho 100% độ chính xác trên tập training, trong khi chúng có thể hoạt động khác nhau trong tập test set (đường cong cho thấy tỷ lệ lỗi cao hơn)
No Free Lunch Rule
Nếu các thuộc tính đã học (sẽ được thảo luận sau) chỉ có thể giải thích tập hợp training nhưng không phải là tập test hoặc universal set, thì việc machine learning là không khả thi. May mắn thay, nhờ bất đẳng thức Hoeffding được trình bày dưới đây, mối liên hệ giữa kiến thức đã học từ training set và tính khả dụng của nó trong test set được mô tả theo cách xác suất:
Trong bất đẳng thức này, N biểu thị kích thước của tập training set và v và µ mô tả làm thế nào thuộc tính nghiêng thực hiện trong tập training set và tập test set. Ví dụ, nếu thuộc tính đã học là một ranh giới ngăn cách, 2 đại lượng này thường tương ứng với các lỗi phân loại. Cuối cùng, ɛ là khoảng cách đúng sai giữa v và µ. Chi tiết của bất đẳng thức Hoeffding nằm ngoài phạm vi của hướng dẫn này và sau đó là phiên bản của sự bất bình đẳng sẽ được thảo luận.
Hình 3 Quy tắc: no free lunch rule cho tập dữ liệu: (a) là tập training set mà chúng ta có, (b) và (c) là 2 bộ test sets. Như bạn đã thấy, (c) có các phân bố mẫu khác với (a) và (b), vì vậy chúng ta không thể mong đợi rằng các thuộc tính học được từ (a) sẽ hữu ích trong (c).
Mặc dù (1) mang lại cho chúng tôi sự tự tin về việc áp dụng machine learning, nhưng có 1 số quy tắc cần thiết để đảm bảo tính khả dụng của nó. Những quy tắc này được gọi là “no free lunch rule” và được xác định trên cả tập dữ liệu và các thuộc tính cần học. Trên tập dữ liệu, quy tắc “no free lunch rule” yêu cầu training set và test set phải giống nhau và phối hợp vs nhau (cùng 1 tập universal set). Và trên các properties, quy tắc “no free lunch rule” yêu cầu người dùng để đưa ra giả định về thuộc tính nào cần tìm hiểu và cách tạo mô hình thuộc tính.
Ví dụ: nếu muốn ranh giới phân tách trong tập dữ liệu được labeled, chúng tôi cũng cần để xác định loại ranh giới (vd: đường thẳng hoặc đường cong). Mặc khác, nếu chúng tôi muốn ước tính phân phối xác suất của tập dữ liệu unlabeled, kiểu phân phối cũng nên được xác định (ví dụ: phân phối Gaussian). Hình 3 minh họa không có quy tắc “no free lunch rule” cho tập dữ liệu.
Designing và learning
Trong cuộc sống hằng ngày, mọi người rất dễ đứng trước một số quyết định phải thực hiện. Ví dụ, nếu bầu trời nhiều mây, chúng ta có thể quyết định mang theo ô hoặc không. Đối với một chiếc máy làm những lựa chọn này, cách trực quan là thành lập một phép toán cách biểu lộ. Biểu thức toán học có thể được thiết kế trực tiếp từ vấn đề lai lịch. Ví dụ, máy bán hàng tự động có thể sử dụng các tiêu chuẩn và bảo mật đồ trang trí của tiền tệ để phát hiện tiền giả. Trong khi ở một số vấn đề khác, chúng ta chỉ có thể nhận được một số phép đo và các nhãn tương ứng, nhưng không biết mối quan hệ cụ thể giữa chúng, learning sẽ là một cách tốt để tìm kết nối cơ bản.
Một minh hoa tuyệt vời khác để phân biệt designing và learning là hình ảnh kỹ thuật nén .jpeg, tiêu chuẩn nén hình ảnh rộng rãi nhất, khái thác DCT dựa trên khối để trích xuất các tần số không gian và sau đó lượng tử hóa từng thành phần tần số để đạt được độ nén dữ liệu. Thành công của sử dụng DCT không chỉ đến từ các thuộc tính hình ảnh mà còn cả thị giác của con người có sự nhận thức. Trong khi không tính thông tin bên, biến đổi KL (phép biến đổi Karhunen-Loeve), tìm hiểu cơ sở chiếu tốt nhất cho một hình ảnh nhất định, đã được chứng minh là có khả năng giảm dư thừa một cách tốt nhất. Trong nhiều nền văn học, kiến thức thu được từ hiểu biết của con người hoặc các yếu tố nội tại của vấn đề được gọi là các kiến thức miền. Và kiến thức học được từ một khóa học được gọi là kiến thức hướng dữ liệu
Cấu trúc của learning
Trong phần này, machine learning được trình bày. Để tránh nhầm lẫn về sự đa dạng của các cấu trúc học tập Unsupervised learning, chỉ supervised learning được hiển thị. Trong khi ở các phần sau, một số các unsupervised learning (kỹ năng học tập) sẽ vẫn được đề cập và giới thiệu và các tài liệu tham khảo quan trọng để đọc thêm. Một minh họa tổng thể về supervised learning trong hình 7.
Phía trên đường chấm ngang, một mục tiêu không xác định hàm f (hoặc phân phối mục tiêu) ánh xạ từng mẫu đối tượng trong phổ tập dữ liệu với label (nhãn) tương ứng của nó được giả định là tồn tại. Và bền dưới đường chấm, một tập huấn luyện đến từ hàm mục tiêu không xác định được sử dụng để học hoặc tính gần đúng chức năng mục tiêu. Bởi vì không có ý tưởng về hàm mục tiêu hoặc phân phối f (trông giống như một đường biên tuyến tính hay một đường biên tròn?), một bộ gỉa thuyết H là cần thiết được định nghĩa, trong đó có một giả thuyết h (một hàm ánh xạ hoặc phân bổ).
Hình 4: Supervised learning: (a) trình bày một tập dữ liệu có 3 lớp labeled, trong đó màu hiển thị nhãn tương ứng của từng mẫu. Sau khi Supervised learning, ranh giới phân tách lớp có thể được tìm thấy dưới dạng đường chấm trong (b)
Bên trong tập giả thuyết H, mục tiêu của supervised learning là tìm ra h tốt nhất, được gọi là giả thuyết cuối cùng g, theo một nghĩa nào đó gần đúng với hàm mục tiêu f. Để làm như vậy, chúng ta cần xác định thêm thuật toán học A, bao gồm chức năng mục tiêu (chức năng được tối ưu hóa để tìm kiếm g) và các phương pháp tối ưu hóa. Tập giả thuyết và hàm mục tiêu cùng mô hình hóa tài sản để tìm hiểu về các quy tắc no free lunch rules. Cuối cùng, giả thuyết cuối cùng g được mong đợi là gần đúng với f theo một cách nào đó và được sử dụng cho dự đoán tương lai. Hình 8 cung cấp lời giải thích về cách hoạt động của bộ giả thuyết với thuật toán learning algorithm
Hình 5: Unsupervised learning (phân cụm): (a) hiển thị cùng một bộ tính năng như trên trong khi thiếu bộ nhãn (label set). Sau khi thực hiện bộ trễ phân cụm, 3 nhóm được gạch chân được phát hiện từ dữ liệu trong (b). Ngoài ra người dùng có thể thực hiện các công cụ của thuật toán học tập unsupervised để học các loại kiến thức khác nhau (VD: phân phối xác suất) từ tập dữ liệu không được gắn nhãn (unlabeled dataset)
Hình 6 Semi-supervised learning: (a) trình bày một tập dữ liệu được gắn nhãn (labeled dataset) (với màu đỏ, xanh lá cây và xanh lam) cùng với tập dữ liệu không được gắn nhãn (unlabeled dataset) (được đánh dấu màu đen). Sự phân phối của tập dữ liệu không được gắn nhãn có thể hướng dẫn vị trí của ranh giới được phân cách. Sau khi được học, một ranh giới khác được mô tả so với ranh giới trong hình 4
Có 3 yêu cầu chung đối với thuật toán học. Đầu tiên, thuật toán nên tìm giả thuyết cuối cùng ổn định g cho d và N cụ thể của tập huấn luyện (VD: hội tụ). Thứ hai, nó phải tìm ra g được xác định thông qua hàm mục tiêu. Cuối cùng nhưng không kém phần quan trọng, thuật toán dự kiến là hiệu quả.
Hình 7 Minh họa tổng thể về cấu trúc supervised learning (học có giám sát): phần trên giả sử dòng chấm nhưng không thể truy cập được và phần bên dưới dòng đang cố gắn gần đúng với hàm mục tiêu chưa biết (f là hàm mục tiêu thực và g là chức năng đã học)
Hình 8: Một minh họa về bộ giả thuyết và thuật toán học. Có 5 bộ phân loại giả thuyết được hiển thị ở bên trái hình chữ nhật và ở phía trên bên phải, một tập hợp đào tạo 2 lớp được hiển thị. Thông qua thuật toán học, dòng màu xanh lá cây được chọn làm bộ phân loại phù hợp nhất
Chúng ta thấy gì qua ví dụ
Dưới 1 giả thuyết cố định, tập hợp H và một thuật toán A, learning từ 1 tập dữ liệu được gắn nhãn đang cố gắn tìm g gần đúng nhất f chưa biết “theo một nghĩa nào đó”. Và trong phần này, cụm từ trong dấu ngoặc kép được giải thích cho cả supervised và unsupervised learning:
- Supervised learning: trong Supervised learning, đặc biệt là đối với việc phân loại trường hợp, mục tiêu mong muốn (cũng được sử dụng như đánh giá hiệu suất) của việc học là tìm g có tỉ lệ lỗi thấp nhất để phân loại dữ liệu được tạo ra từ f. Các định nghĩa về tỉ lệ lỗi phân loại được đo trên giả thuyết h được trình bày như phía dưới:
Trong đó là viết tắt của function. Khi tỉ lệ lỗi (2) được xác định trên tập training set, nó được đặt tên là “in-sample error Ein(h)”, trong khi tỷ lệ lỗi được tính toán trên tập universal set hoặc thực tế hơn là (không xác định hoặc bảo lưu) tập hợp test set được đặt tên là “Eout(h)”. Dựa trên các định nghĩa này, giả thuyết cuối cùng mong muốn g là giả thuyết đạt được giá trị ngoài mẫu thấp nhất lỗi trên toàn bộ giả thuyết đặt ra:
Trong giai đoạn học tập, chúng ta chỉ có thể quan sát tập training set, đo lường Ein(h)”, và tìm kiếm g dựa trên các hàm function. Từ mâu thuẫn trên, a câu hỏi mà độc giả có thể hỏi, “Mối quan hệ giữa các function Ein (g), Eout(g) là gì? Và chúng ta nên tối ưu hóa những gì trong quá trình học?”
Những đề cập ở (1), mối liên hệ giữa kiến thức đã học từ training set và tính khả dụng của nó trên tập test set có thể được xây dựng dưới dạng phương trình xác suất. Phương trình đó thực sự có sẵn khi đặt giả thuyết chỉ chứa 1 giả thuyết. Đối với các bộ giả thuyết thực tế hơn có thể chứa vô số giả thuyết, một phiên bản mở rộng của (1) được giới thiệu là:
Bất bình đẳng này được gọi là giới hạn VC (giới hạn Vapnik-Chervonenkis) trong đó dVC là thứ nguyên VC được sử dụng làm thước đo mô hình (bộ giả thuyết và objective function) đọ phức tạp, và N là kích thước training set. VC ràng buộc được liệt kê ở đây là một phiên bản đơn giản hóa, nhưng cung cấp mối quan hệ có giá trị giữa Eout(g) và Ein(g): một giả thuyết g có thể giảm thiểu Ein(h) có thể tạo ra một mức thấp Eout(g). Định nghĩa đầy đủ về thứ nguyên VC nằm ngoài phạm vi của hướng dẫn này.
Dựa trên ràng buộc VC, một chiến lược supervised learning được gọi là kinh nghiệm giảm thiểu rủi ro (ERM) được đề xuất để đạt được mức thấp Eout(g) bằng cách giảm thiểu Ein(g):
ERM có lẽ là chiến lược được sử dụng rộng rãi nhất supervised learning và Ein(h) là hàm function được trình bày đầu tiên trong hướng dẫn này. Trên thực tế, một objective function có thể được tách thành loss function và penalty function. Loss function đo lỗi phân loại được xác định trên tập training set, trong khi hàm penalty function cho mỗi giả thuyết một mức độ ưu tiên. Trước phần 4.4, thời hạn phạt được đặt là 1 hằng số và có thể được bỏ qua. Có những loại khác các chiến lược supervised learning nhằm tìm kiếm mức tối thiểu Eout(g) dựa trên các định lý ràng buộc ngoài VC và sẽ được đề cập trong phần 3.6
Đối với vấn đề hồi quy, chiến lược được sử dụng rộng rãi là giảm thiểu gốc bình phương trung bình (RMS) giữa nhãn dự đoán (predicted label) và nhãn chân lý cơ bản (truth label) (nhãn do tập dữ liệu cung cấp)
Unsupervised learning: ngoài supervised learning các chiến lược của unsupervised learning rất đa dạng. Một số thuật toán unsupervised learning khai thác mô hình phân phối xác xuất và tìm các tham số phân phối một tốt nhất thông qua ước tính khả năng xảy ra tối đa (MLE) tối đa posterior (MAP), hoặc các phương pháp Bayes phức tạp hơn. Mặc khác, các thuật toán không có mô hình xác suất có thể học kiến thức dựa trên phép đo thống kê, lỗi lượng tử hóa, ….
Tiêu chí tối ưu hóa
Những đề cập trong phần 2.4, mô hình hóa và tối ưu hóa là hai yếu tố chính của machine learning. Mô hình hóa chứa sự lựa chọn của giả thuyết tập hợp H và các objective function, tối ưu hóa để thực hiện tìm giả thuyết cuối cùng của g trong h, đạt mức tối thiểu hoặc tối đa của objective function (số lần lập do người dùng xác định). Với một tập hợp training set thật sự có nhiều loại mô hình để lựa chọn.
Trước tiên, chúng ta tập trung vào tập giả thuyết về bộ phân loại tuyến tính và chỉ ra các phương pháp tối ưu hóa tương tác với các lựa chọn của objective function. Sự giống nhau của bộ phân loại tuyến tính cho các bài toán phân loại 2 lớp (y(n) € [-1,1]) theo công thức như sau:
Trong đó c là hằng số, w là chiều vector (d+1) có chiều w= [w0, w1, …, wd]T, và x = [1, x1, x2, …, xd]T là bản mở rộng của x. Các vector w là viết tắt của tham số phân loại và 1 trong x đã từng tính toán độ lệch của dòng phân loại. Dựa trên mục tiêu của ERM được giới thiệu trong phần 3.4, objective function là thuật ngữ lỗi trong sample (hoặc gọi là thuật ngữ tổn thất, tính toán xem có bao nhiêu training sample bị sai) và tối ưu hóa phương pháp được sử dụng để tìm một bộ phân loại tuyến tính để tối ưu hóa objective function. Hình 9 hiển thị một tập training set có thể phân tách tuyến tính cũng như giả thuyết cuối cùng tương ứng với g. Như bạn đã thấy, có rất nhiều giả thuyết có thể đạt được sai số 0.
Hình 9 một ví dụ về bài toán phân loại 2 lớp bằng cách sử dụng bộ phân loại tuyến tính, trong đó tập training set có thể phân tách tuyến tính
Hình 10 the objective (tỉ lệ lỗi trong mẫu) chỉ xem xét 1 mẫu với y(n) = 1 dựa trên bộ phân loại tuyến tính. Trục x biểu thị sản phẩm bên trong của vector đặc trưng mở rộng và vector tham số của bộ phân loại tuyến tính. Như được hiển thị, objective function là không liên tục xung quanh wT x(n) = 0.
Nếu chúng ta đơn giản hóa (2) và chỉ xem một sample mà không chuẩn hóa, thì lỗi thuật ngữ sẽ trở thành:
Hình 10 cho thấy một mẫu objective function đơn giãn với y(n) = 1. Như có thể thấy, xung quanh wT x(n) = 0 không liên tục và bằng phẳng trong các phạm vi khác, vì vậy việc sử dụng các phương pháp tối ưu hóa dựa trên sự khác biệt (lặp đi lặp lại) gần như không còn hiệu quả. wT x(n) = 0. Ví dụ, nếu w mang lại: wT x(n) < 0 vì y(n) = 1 ở lần lập lại hiện tại, không có gradient theo w, thuật toán tối ưu hóa không có ý tưởng để điều chỉnh hiện tại w hướng tới tỉ lệ lỗi thấp hơn. Hình 11 minh họa vấn đề này cho một tập training set phân tách tuyến tính.
Các phương pháp tối ưu hóa dựa trên sự khác biệt hóa có lẻ được sử dụng rộng rãi trong các kỹ thuật machine learning, đặc biệt đối với các objective function có thể được viết trực tiếp dưới dạng function của các sample training và phân loại hoặc tham số hồi quy w (không phải lúc nào cũng ở dưới dạng vector)
Hình 11 Giả sử ở lần lặp hiện tại, w đạt được là một trong những w mong muốn được hiển thị dưới dạng các đường chấm màu đen và xám, thuật toán tối ưu hóa có thể không có ý tưởng về cách điều chỉnh w theo số lượng mong muốn của nó.
Để cung cấp các phương pháp tối ưu hóa dựa trên sự khác biệt cho ERM trong trường hợp phân loại tuyến tính, chúng ta cần sửa đổi thuật ngữ error trong sample thành một số các hàm xấp sỉ (từng phần) có thể phân biệt và liên tục. Có nhiều lựa chọn về approximation function (được biểu thị là Eapp(h)) và duy nhất, ràng buộc với chúng được thực hiện như sau:
Có nghĩa là lỗi trong sample luôn được giới hạn bởi giá trị gần đúng của approximation function. Dựa trên sửa đổi này, learning goal và quy trình cho ERM được định dạng lại. Learning goal ban đầu nhầm mục đích tìm kiếm g* tiếp cận f thông qua hàm mục tiêu (target function) Eout(h). Vì không thể tiếp cận với bài kiểm tra (test) và tập phổ quát (universal set), giai đoạn học tập chuyển sang tối ưu hóa Ein(h) với g bởi ERM và mong đợi g tiếp cận g* (Eout(g) ~ Eout(g*)) thông qua VC được giới thiệu trong (4). Do kho tối ưu hóa Ein(h), một hàm gần đúng Eapp(h) được xác định trong Ein(h). Tìm kiếm thông qua g trong đó tối ưu hóa Eapp(h) với các ràng buộc được xác định trong (9), chúng tôi kỳ vọng giả thuyết cuối cùng g có thể đạt được mức thấp Ein(g) cũng như thấp trong Eout(g) (Ein(g) ~ Ein(g*)) vsf (Eout(g) ~ Eout(g*)). Bảng 1 tóm tắt khái niệm và mối quan hệ, hiển thị một số hàm gần đúng cũng như tên thuật toán cho tuyến tính, bộ phân loại so với thuật ngữ lỗi trong sample (mất 0/1).
y(n) = -1 và lấy mẫu với y(n) = -1, các hoạt động nhân bản được thực hiện cho các cuộc đấu giá này xung quanh điểm gốc. hàm mục tiêu cho toàn bộ tập training set (Eapp(h))
Hình 12 Các objective function khác nhau xác định bộ phân loại định tuyến khác nhau trên một sample với y(n) = 1. Các thuật ngữ trên ngoặc là tên thuật toán tương ứng.
Bảng 1: Khái niệm learning concept từ ERM đến các objective function
Original goal | Hàm giả thuyết g*, tiếp cận target function f thông qua việc đạt mức tối thiểu Eout(h). |
Given | Labeled training set D |
Learning structure | Một tập giả thuyết H, một objective function Eapp(h), và phương pháp tối ưu hóa tương ứng |
Term definition | |
Modified goal | Tìm g để tối ưu hóa Eapp(h), và dùng nó để chạy ứng dụng |
Relationship | Small Eapp(g) có thể mang lại small Ein(g) Small Ein(g) có mối quan hệ xác xuất để đạt được small Eout(g) thông qua ràng buộc VC được giới thiệu trong (4)Chúng tôi mong đợi g~g*~f thông qua Eout(g)~ Eout(g*) dựa trên mối quan hệ trên |
Ngoài các bộ phân loại tuyến tính (linear classifiers) vẫn còn nhiều loại bộ giả thuyết cũng như các objective function khác nhau, các kỹ thuật tối ưu hóa (cũng được liệt kê trong bảng 2). Các hypothesis set và objective function tương ứng ảnh hưởng đến VC thứ nguyên được giới thiệu trong (4) để đo đọ phức tạp của mô hình. Và thậm chí dựa trên cùng một bộ giả thuyết, các objective function khác nhau có thể dẫn đến kết quả cuối cùng khác nhau của giả thuyết g.
Chiến lược của supervised learning
Trong tiểu mục này, chúng tôi thảo luận về các chiến lược học tập có giám sát khác, cấu trúc và giả định học tập của chúng, và so sánh và mối quan hệ với chiến lược ERM. Chỉ có vấn đề phân loại được thảo luận, trong khi các chiến lược này có thể được mở rộng vào các vấn đề hồi quy bằng cách xem xét các nhãn liên tục.
Nói chung có hai chiến lược phân loại, chiến lược một lần (phân biệt đối xử) và chiến lược hai giai đoạn (xác suất). Chiến lược one-shot (phân biệt đối xử) nhằm mục đích tìm kiếm một chức năng trực tiếp ánh xạ vector tính năng cho nhãn, thường được tối ưu hóa thông qua ý tưởng về ERM và các phiên bản gần đúng của nó. Mặc khác, chiến lược hai giai đoạn khai thác các phương pháp xác suất và có thể được chia thành hai nhóm, các mô hình phân biệt đối xử và tạo ra. Mô hình phân biệt đối xử cố gắng mô hình hóa bộ phân loại như một phân bố xác suất có điều kiện (CPD) cho vectơ tính năng, trong khi mô hình sinh sản sử dụng phiên bản mở rộng, mô hình hóa bộ phân loại như một số CPD được đưa ra mỗi nhãn cũng như phân phối xác suất trước đó của nhãn.
Ý tưởng cơ bản đằng sau chiến lược hai giai đoạn là giả định rằng bộ đào tạo đến từ phân phối xác suất. Có nhiều loại mô hình xác suất tham số cũng như các mô hình xác suất bán hoặc không tham số, và trong thực tế, người dùng được yêu cầu chọn một mô hình dựa trên kiến thức của họ và sự đánh đổi giữa độ phức tạp và hiệu quả học tập. Trong giai đoạn học tập, chiến lược hai giai đoạn tìm kiếm tập hợp tham số của mô hình phân phối xác suất đã chọn mô tả tốt nhất bộ đào tạo quan sát được dựa trên các phương pháp MAP, MLE hoặc thậm chí bayes, trong khi chiến lược một lần cố gắng tìm ra phương pháp cuối cùng.
Giả thuyết g từ bộ giả thuyết H. Bảng 3 liệt kê cả mô hình phân loại và các tiêu chí tối ưu hóa, và Hình 13 minh họa các cấu trúc học tập khác nhau của hai chiến lược này.
So với chiến lược một lần chỉ xuất ra nhãn dự đoán, chiến lược hai giai đoạn đưa ra một quyết định mềm, xác suất của mỗi nhãn được đưa ra một vectơ tính năng. Mô hình sinh sản tiếp tục khám phá sự phân bố chung giữa các vectơ tính năng và nhãn, và cung cấp một khuôn khổ thống nhất cho việc học tập được giám sát, bán giám sát và không giám sát. Mặc dù chiến lược hai giai đoạn dường như trích xuất nhiều thông tin hơn từ bộ đào tạo, giả định mạnh mẽ, các mẫu đào tạo đến từ mô hình phân phối xác suất do người dùng xác định, có thể đánh lừa quá trình học tập nếu giả định sai và dẫn đến mô hình kém. Bên cạnh đó, việc tối ưu hóa mô hình phân phối xác suất linh hoạt thường rất phức tạp và đòi hỏi nhiều thời gian và tài nguyên tính toán hơn. Trong Bảng 4, một so sánh và minh họa chung về các chiến lược một lần và hai giai đoạn được trình bày. Trong hướng dẫn này, chúng tôi tập trung nhiều hơn vào chiến lược một lần và độc giả quan tâm đến chiến lược hai giai đoạn có thể đề cập đến một số cuốn sách được xuất bản tuyệt vời [9][15]. Để được chú ý, mặc dù hai chiến lược khác nhau thông qua những gì họ đang tìm kiếm trong giai đoạn học tập, trong giai đoạn thử nghiệm, cả hai đều được đo bằng lỗi phân loại để đánh giá hiệu suất.
Các cấu trúc học tập của các chiến lược một lần và hai giai đoạn: (a) Chiến lược một lần và (b) chiến lược hai phát, trong đó là tập hợp tham số của mô hình phân phối xác suất đã chọn.
Bảng 3 Tiêu chí mô hình hóa và tối ưu hóa phân loại cho hai chiến lược này.
Bảng 4 So sánh các chiến lược một lần và hai giai đoạn từ nhiều khía cạnh.
Category | One-shot | Two-stage |
Model | Discriminant | Discriminative, Generative |
Advantage | Fewer assumptionsModel: direct towards the classification goalOptimization: directtowards low error rate | More flexibleMore discovery powerProvide uncertaintyDomain knowledge is easily included |
Disadvantage | No probabilistic information | More assumptionComputational complexity |
Usage | Usually supervised learning | Supervised and unsupervised |
Symbolic classifiers | Adaboostsupport vector machines (SVM), multilayer perceptrons (MLP) | Gaussian discriminant analysis, Hidden Markov model (HMM),Naïve Bayes |
Phân loại thuật toán trong Machine learning
Có hai cách để chúng ta phân loại các thuật toán trong máy học một là chúng ta dựa vào phương thức học và hai là chúng ta dựa vào chức năng của thuật toán.
Khi ta dựa vào phương thức học thì thuật toán học máy của chúng ta được chia lại thành bốn loại như:
- Học tăng cường (reinforcement learning)
- Học có giám sát (supervised learning)
- Học không giám sát (unsupervised learning)
- Học bán giám sát (semi-supervised learning).
Học tăng cường (reinforcement learning)
Học tăng cường (reinforcement learning) là học củng cố hay tăng cường, là lĩnh vực liên quan đến dạy cho máy (agent) thực hiện tốt một nhiệm vụ (task) bằng cách tương tác với môi trường (environment) thông qua hành động (action) và nhận được kết quả (reward).
Cách học như thế này tương tự như con người học từ môi trường xung quanh bằng cách thử sai, ví dụ khi mùa đông đến con người thường tiếp cận bếp lửa để sưởi ấm lúc đó ta cảm nhận được khi càng tiến lại gần thì càng ấm ngược lại càng xa thì sẽ ít ấm hơn, và khi chúng ta tiếp cận đến lúc chạm vào bếp lửa thì chúng ta sẽ bị bỏng. Trong ví dụ trên, reward là kết quả của việc ta thực hiện hành động (action) tiếp cận càng gần bếp lửa.
Trường hợp sử dụng học tăng cường
Hệ thống Trả lời Truy vấn Chủ động (AQA) của Google làm cho sử dụng học tập củng cố. Nó định dạng lại các câu hỏi mà người dùng yêu cầu.
Ví dụ: nếu bạn hỏi bot AQA câu hỏi – “Ngày sinh của Nikola Tesla là gì” thì bot sẽ định dạng lại thành các câu hỏi khác nhau như “Năm sinh của Nikola Tesla là gì”, “Tesla ra đời khi nào?” và “Sinh nhật của Tesla là khi nào”.
Quá trình định dạng lại này sử dụng mô hình trình tự theo trình tự truyền thống, nhưng Google đã tích hợp tính năng Học tập tăng cường vào hệ thống của mình để tương tác tốt hơn với hệ thống môi trường dựa trên truy vấn.
Xem thêm 11 phần mềm machine learning hàng đầu
Học có giám sát (supervised learning)
Học có giám sát (supervised learning) là thuật toán dự đoán đầu ra (outcome) của một dữ liệu (input) dựa trên các cặp dữ liệu đã có sẵn (data, label). Ví dụ thuật toán dò các khuôn mặt trong facebook, facebook sử dụng thuật toán này để chỉ ra các khuôn mặt trong một bức ảnh yêu cầu người dùng có thể gắn tag friend. Việc này ta có cặp dữ liệu có sẵn data và label tương đương với khuôn mặt và tên người đầu ra outcome là một danh tính xác thực, dữ liệu data và label càng lớn thì độ chính xác càng cao.
Học có giám sát được chia thành 2 loại chính như sau: phân loại (classification), hồi quy (regression). Bài toán phân loại (classification) là bài toán khi kết quả đầu ra outcome của các dữ liệu đầu vào input data được phân thành các nhóm.
Ví dụ: phân loại hoa, phân loại màu sắc, phân loại email spam,… Bài toán hồi quy (regression) là bài toán dựa vào các kết quả đầu vào input data và kết quả đầu ra outcome sẽ là một giá trị cụ thể, ví dụ có một căn nhà rộng x m2, có bao nhiêu phòng ngủ và cách thành phố z km thì sẽ có giá là bao nhiêu.
Một số thuật toán thuộc chế độ học có giám sát như sau:
Linear Regression có thể là một thuật toán Machine learning được giám sát trong đó đầu ra dự kiến là liên tục và có độ dốc không đổi. Đó là dự đoán các giá trị trong phạm vi vô tận, (ví dụ: doanh số, giá cả) thay vì cố gắng phân loại chúng thành các danh mục (ví dụ: mèo, chó). Nó được sử dụng bất cứ khi nào chúng ta muốn dự đoán giá trị của một biến được hỗ trợ giá trị của một biến khác.
Biến mà chúng ta muốn dự đoán được đặt tên là biến (hoặc đôi khi là biến kết quả).
Trong Linear Regression, chúng tôi đo lường mối quan hệ tuyến tính giữa hai hoặc nhiều hơn hai biến. Dựa trên mối quan hệ này, chúng tôi thực hiện các dự đoán tuân theo mô hình tuyến tính này.
- Random forest
Random forest có thể là một thuật toán Machine learning linh hoạt, dễ sử dụng, tạo ra kết quả tuyệt vời ngay cả khi không điều chỉnh siêu tham số.
Nó cũng là một trong những thuật toán được sử dụng nhiều nhất, do tính đơn giản và đa dạng (nó thường được sử dụng cho cả nhiệm vụ phân loại và hồi quy).
Random forest là một phương pháp học tập tổng hợp để thực hiện phân loại, hồi quy cũng như các nhiệm vụ khác thông qua việc xây dựng cây quyết định và cung cấp đầu ra dưới dạng một lớp là phương thức hoặc giá trị trung bình của các cây riêng lẻ bên dưới.
- Gradient Boosting
Tăng cường độ dốc có thể là một kỹ thuật máy học cho các bài toán hồi quy và phân loại, tạo ra một mô hình dự đoán trong một nhóm các mô hình dự đoán yếu, điển hình là cây quyết định. Đây là một phương pháp học tập kết hợp là một tập hợp của một số cây quyết định yếu, dẫn đến một bộ phân loại mạnh mẽ.
SVM là bộ phân loại mạnh mẽ được sử dụng để phân loại tập dữ liệu nhị phân thành hai lớp với sự hỗ trợ của siêu máy bay.
Lợi ích của Support vector machine là Hiệu quả trong không gian chiều cao. Vẫn có hiệu quả trong trường hợp số thứ nguyên lớn hơn số lượng mẫu.
Logistic regression có thể là một mô hình thống kê mà ở dạng cơ bản của nó sử dụng một hàm logistic để lập mô hình một biến nhị phân, mặc dù tồn tại nhiều phần mở rộng phức tạp hơn.
Trong phân tích đa biến, Logistic regression (hoặc hồi quy logit) là ước tính các tham số của mô hình logistic (một loại hồi quy nhị phân).
Nó sử dụng đường cong S hình chuông được tạo ra với sự trợ giúp của hàm logit để phân loại dữ liệu thành các lớp tương ứng của chúng.
Artificial Neural Networks được mô phỏng theo bộ não con người và chúng học hỏi từ dữ liệu theo thời gian. Chúng tạo thành một phần lớn hơn nhiều của Machine learning được gọi là Học sâu.
Trường hợp sử dụng học tập có giám sát
Nhận dạng khuôn mặt là một trong những ứng dụng phổ biến nhất của Học có giám sát và cụ thể hơn – ANN.
Convolutional Neural Networks(CNN) là một loại ANN được sử dụng để nhận dạng khuôn mặt của mọi người. Các mô hình này có thể vẽ các đặc điểm từ hình ảnh thông qua các bộ lọc khác nhau. Cuối cùng, nếu có điểm tương đồng cao giữa hình ảnh đầu vào và hình ảnh trong cơ sở dữ liệu, thì kết quả trùng khớp sẽ được cung cấp.
Baidu, công ty công cụ tìm kiếm hàng đầu của Trung Quốc đã và đang đầu tư vào nhận dạng khuôn mặt. Mặc dù họ đã cài đặt hệ thống nhận dạng khuôn mặt trong hệ thống an ninh của mình, nhưng hiện họ đang mở rộng công nghệ này tới các sân bay lớn của Trung Quốc. Baidu sẽ cung cấp cho các sân bay công nghệ nhận dạng khuôn mặt giúp phi hành đoàn và nhân viên tiếp cận.
Do đó, hành khách không phải xếp hàng dài chờ làm thủ tục chuyến bay khi có thể lên máy bay chỉ cần quét khuôn mặt.
Xem thêm các bước xây dựng mô hình machine learning
Học không giám sát (unsupervised learning)
Học không giám sát (unsupervised learning) đây là bài toán mà chúng ta có dữ liệu đầu vào input data mà không biết kết quả đầu ra outcome. Chúng ta chỉ có thể dựa vào những đặc tính của cấu trúc dữ liệu đầu vào mà chúng ta sẽ có thể phân nhóm (clustering) hoặc giảm số chiều (dimension reduction) để dễ tính toán.
Bài toán học không giám sát được chia thành hai loại: Bài toán phân nhóm (clustering), bài toán kết hợp (association). Bài toán phân nhóm (clustering) là bài toán mà ta dựa vào sự liên quan về những đặc tính của dữ liệu đầu vào input data để ta có thể phân chúng thành những mối nhóm khác nhau
Ví dụ: phân nhóm khách hàng dựa trên hành vi mua hàng, giống như ta cho những đứa trẻ những mảnh giấy có màu sắc khác nhau và rồi tập hợp chúng lại theo từng màu sắc. Bài toán kết hợp (association) là bài toán khi chúng ta muốn tìm ra một quy luật chung cho những dữ liệu cho trước ví dụ những người mua mì gói thường sẽ mua thêm xúc xích, hay khi mua giày sẽ mua thêm vớ.
Trong trường hợp thuật toán học tập không được giám sát, dữ liệu không được gắn nhãn rõ ràng thành các lớp khác nhau, tức là không có nhãn. Mô hình có thể học hỏi từ dữ liệu bằng cách tìm ra các mẫu ẩn.
Các thuật toán Học không giám sát xác định dữ liệu dựa trên mật độ, cấu trúc, các phân đoạn tương tự và các đặc điểm tương tự khác của chúng. Các thuật toán học không giám sát dựa trên Học Hebbian.
Phân tích cụm là một trong những kỹ thuật được sử dụng rộng rãi nhất trong học tập có giám sát.
Các thuật toán Học không giám sát.
Clustering, còn được gọi là phân tích cụm, là một kỹ thuật nhóm các tập hợp các đối tượng tương tự trong cùng một nhóm mà khác với các đối tượng trong nhóm khác.
Một số kỹ thuật phân cụm cơ bản như sau:
- K-means
Mục đích của thuật toán phân cụm k-mean là phân vùng n quan sát trong dữ liệu thành k cụm sao cho mỗi quan sát thuộc cụm có giá trị trung bình gần nhất.
Đây là nguyên mẫu của cụm.
Đây là một phương pháp phân cụm để nhóm dữ liệu dựa trên mật độ. Nó nhóm lại với nhau các điểm được cho trong không gian và đánh dấu các điểm khác biệt trong vùng mật độ thấp.
- Hierarchical clustering
Trong hình thức phân cụm này, một hệ thống phân cấp của các cụm được xây dựng.
- Anomaly Detection
Kỹ thuật Phát hiện bất thường phát hiện các điểm khác thường trong dữ liệu không được gắn nhãn theo giả định rằng hầu hết các ví dụ dữ liệu là bình thường bằng cách quan sát các trường hợp phù hợp với phần còn lại của tập dữ liệu.
- Autoencoders
Mã tự động là một loại ANN được sử dụng trong Học không giám sát để học biểu diễn. Chúng được sử dụng để làm biến dạng và giảm kích thước.
- Deep Belief Network
Nó là một mô hình graphical model cũng là một lớp mạng nơ-ron được thiết kế cho việc học tập không giám sát. Nó khác với kiểu mạng nơ-ron được giám sát ở chỗ nó cấu trúc lại một cách có xác suất các đầu vào của mình để hoạt động như các bộ phát hiện tính năng.
- Principal Component Analysis
Nó là một lớp mô hình học tập không giám sát được sử dụng để giảm kích thước của dữ liệu.
Trường hợp sử dụng học tập không giám sát
Một trong những kỹ thuật học tập không giám sát phổ biến nhất là phân cụm. Sử dụng tính năng phân nhóm, các doanh nghiệp có thể nắm bắt các phân khúc khách hàng tiềm năng để bán sản phẩm của họ.
Các công ty bán hàng có thể xác định các phân khúc khách hàng có nhiều khả năng sử dụng dịch vụ của họ nhất. Các công ty có thể đánh giá các phân khúc khách hàng và sau đó quyết định bán sản phẩm của họ để tối đa hóa lợi nhuận.
Một công ty đang thực hiện phân tích tiếp thị thương hiệu bằng Máy học là một công ty khởi nghiệp có trụ sở tại Israel – Optimove. Mục tiêu của công ty này là nhập và xử lý dữ liệu khách hàng để giúp các nhà tiếp thị có thể truy cập được.
Họ tiến thêm một bước nữa bằng cách cung cấp thông tin chi tiết thông minh cho nhóm tiếp thị, cho phép họ thu được lợi nhuận tối đa từ việc tiếp thị sản phẩm của mình.
Học bán giám sát (semi-supervised learning)
Học bán giám sát (semi-supervised learning) là bài toán mà ta có tập dữ liệu X mà chúng ta chỉ xác định được một số label thôi không xác định được toàn bộ label của tập dữ liệu X. Ví dụ điển hình của nhóm này là chỉ có một phần ảnh của con người và động vật được gán nhãn những ảnh còn lại thì không biết được nhãn, chúng ta có thể sử dụng unsupervised learning để khám phá ra các cấu trúc của dữ liệu đầu vào.
Phân loại bài toán dựa trên chức năng của các thuật toán, các thuật toán hồi quy (linear regression, logistic regression, stepwise regression), thuật toán phân loại (support vector machine, kernel svm), thuật toán phân cụm (k-mean clustering, k-Medians), artificial neural network algorithms (perceptron, softmax regression).
Mối quan hệ với các Disciplines
Machine learning liên quan đến các kỹ thuật cơ sở dữ liệu và khoa học máy tính:
- Thống kê: học và suy luận các thuộc tính thống kê từ dữ liệu đã cho
- Khoa học máy tính: các thuật toán hiệu quả để tối ưu hóa, biểu diễn mô hình và đánh giá hiệu xuất
Ngoài tầm quan trọng của tập dữ liệu, Machine learning thường bao gồm 2 yếu tố quan trọng, mô hình hóa và tối ưu hóa. Mô hình hóa có nghĩa là làm thế nào để lập mô hình ranh giới phân tách hoặc phân phối xác suất của tập huấn luyện đã cho và sau đó các kỹ thuật tối ưu hóa được sử dụng để tìm kiếm các tham số tốt nhất của mô hình đã chọn.
Machine learning cũng liên quan đến các ngành khác như: nhận dạng mẫu, truy xuất thông tin, trí tuệ nhân tạo, khai thác dữ liệu, … So với các ngành khác, machine learning còn tập trung thêm vào lý do tại sao machine có thể learn và cách lập mô hình, tối ưu hóa và điều chỉnh theo thứ tự để sử dụng tốt nhất dữ liệu có thể truy cập được.