Bài toán học nửa giám sát

Một phần của tài liệu phương pháp học nửa giám sát và ứng dụng (Trang 25 - 77)

Hình 1.4: Mô hình học nửa giám sát [2]

Học nửa giám sát là một trong số các kỹ thuật học máy, sử dụng cả dữ liệu đã đƣợc gán nhãn và dữ liệu chƣa đƣợc gán nhãn cho việc huấn luyện, điển hình là một tập hợp nhỏ dữ liệu đƣợc gán nhãn kết hợp với một số lƣợng lớn các dữ liệu chƣa gán nhãn. Học nửa giám sát nằm giữa học không giám sát và học có giám sát. Nhiều nhà nghiên cứu về học máy đã tìm ra dữ liệu chƣa đƣợc gán nhãn trong khi kết hợp với một lƣợng nhỏ dữ liệu đã đƣợc gán nhãn. Việc thu đƣợc dữ liệu gán nhãn cho bài toán học thƣờng yêu cầu kỹ năng cao của con ngƣời để tự phân loại dữ liệu huấn luyện. Các chi phí liên quan tới quá trình gán nhãn có thể làm cho một tập dữ liệu gán nhãn không khả thi, trong khi mua lại dữ liệu không có nhãn chi phí tƣơng thấp. Do đó, học nửa giám sát có thể mang lại giá trị thực tiễn lớn.

Dƣới đây là hình vẽ thể hiện việc dữ liệu chƣa đƣợc gán nhãn sử dụng trong học nửa giám sát.

Hình 1.5: Dữ liệu chƣa gán nhãn sử dụng trong quá trình học nửa giám sát

Với ý tƣởng nhƣ vậy, học nửa giám sát đƣợc áp dụng cho việc phân lớp dữ liệu. Trong bài toán phân lớp dữ liệu nửa giám sát, các mẫu dữ liệu có đặc tính tƣơng tự nhau thì sẽ đƣợc phân vào cùng một lớp. Ta có thể mô tả khái quát bài toán phân lớp nhị phân nhƣ sau:

 Cho tập dữ liệu: X = {x1..xℓ, xℓ+1..xn}  Rm  Tập các nhãn: L = {0,1}

 Ban đầu, các dữ liệu đã đƣợc gán nhãn yi {0,1}, i=1,..,ℓ

 Với các dữ liệu từ xℓ+1..xn , các nhãn yi là chƣa biết.

Mục đích của bài toán là gán nhãn cho các dữ liệu chƣa có nhãn dựa trên tập dữ liệu đã cho.

Hình 1.6: Mô hình hóa các tập dữ liệu trong học nửa giám sát. 1.7. Tổng kết chƣơng 1

Trên đây là một số kiến thức cơ bản về học máy, thông qua đó ta có thể nắm bắt đƣợc các kiến thức nền tảng về học máy nhƣ: Khái niệm thế nào là học máy, học có giám sát và học không giám sát; Các mô hình toán của học máy, học có giám sát, học không giám sát; Nắm đƣợc các bƣớc giải một bài toán trong học máy. Đây chính là những kiến thức cơ sở để ta có thể tiếp tục tìm hiểu, nghiên cứu các thuật toán về học máy cũng nhƣ học nửa giám sát trong các chƣơng tiếp theo.

CHƢƠNG 2: MỘT SỐ THUẬT TOÁN HỌC NỬA GIÁM SÁT VÀ BÀI TOÁN PHÂN CỤM DỮ LIỆU

2.1. Một số thuật toán học nửa giám sát

2.1.1. Mô hình sinh và thuật toán kỳ vọng cực đại

2.1.1.1. Giới thiệu mô hình sinh

Trong học nửa giám sát, phƣơng pháp đƣợc áp đụng lâu đời nhất là phƣơng pháp sử dụng mô hình sinh. Mô hình sinh đƣợc mô tả bởi những chức năng và thao tác toán học đƣợc xắp xếp theo sự phân cấp trên cùng một tập dữ liệu điểm.

Mô hình có dạng p(x,y) = p(y)*p(x|y) với p(x|y) là một phân phối nhận dạng hỗn hợp [4], [17].

Ví dụ: Mô hình hỗn hợp Gaussian, là mô hình với một lƣợng lớn dữ liệu

chƣa gán nhãn và một số ít dữ liệu gán nhãn, các phần hỗn hợp có thể đƣợc xác định, sau đó chúng ta chỉ cần gán một nhãn cho mỗi ví dụ thành phần để xác định đầy đủ phân phối hỗn hợp.

2.1.1.2. Mô hình sinh trong học nửa giám sát

Ngƣời ta thƣơng áp dụng mô hình sinh để giải quyết những bài toán nhận dạng ảnh, nhận dạng văn bản, nhận dạng tiếng nói và một số bài toán khác.

* Mô tả mô hình sinh

Giả sử có một có một tập dữ liệu (x, y) đã đƣợc gán nhãn. Với x là dữ liệu, y là nhãn tƣơng ứng. Chúng đƣợc phân lớp nhƣ hình sau:

Hình 2.1 Dữ liệu có nhãn

Khi dữ liệu chƣa đƣợc gán nhãn đƣợc thêm vào. Thì ta sẽ có một mô hình phù hợp nhất với tập dữ liệu này, để có thể phân lớp tất cả các dữ liệu mới đƣợc đƣa vào.

2.1.1.3. Thuật toán kỳ vọng cực đại

Giới thiệu thuật toán:

Thuật toán kỳ vọng cực đại (Expectation Maximization - EM) có mục đích tìm mô hình phấn bố dữ liệu hợp lý nhất, với tập dữ liệu ban đầu là một tập nhỏ các dữ liệu đã gán nhãn kết hợp với một số lƣợng lớn các dữ liệu chƣa gán nhãn. Hay nói cách khác đây là một phƣơng pháp nhằm tìm một mô hình tối ƣu để phân lớp các dữ liệu đã gán nhãn và chƣa gán nhãn.

Thuật toán kỳ vọng cực đại là một thuật toán tổng quát đánh giá khả năng cực đại của dữ liệu. Mà dữ liệu không hoàn chỉnh hoặc hàm mục tiêu chứa các biến ẩn.

Nội dung thuật toán:

Thuật toán kỳ vọng cực đại đƣợc thực hiện nhƣ sau:

Bƣớc 1: Tiến hành gán giá trị ngẫu nhiên cho tất cả các tham số của mô hình. Bƣớc 2: Tiến hành lặp hai bƣớc lặp sau.

Bước kỳ vọng: Trong bƣớc này thuật toán tiến hành tính toán hàm mục tiêu mong muốn cho dữ liệu dựa trên các thiết lập tham số và dữ liệu không đầy đủ.

Bước tối đa hóa: Trong bƣớc này thuật toán tiến hành tính toán lại tất cả các tham số, bằng cách sử dụng tất cả các dữ liệu. Qua đó ta sẽ nhận đƣợc một tập các tham số mới.

Tiến trình tiếp tục cho đến khi hàm mục tiêu hội tụ, ví dụ nhƣ hàm mục tiêu đạt tới cực đại địa phƣơng, ...

Thuật toán kỳ vọng cực đại sử dụng hƣớng tiếp cận là xuất phát từ một giá trị khởi ngẫu nhiên nào đó. Do vậy chỉ đảm bảo đạt đƣợc giá cực đại địa mang tính phƣơng. Nên việc đạt tới cực đại toàn cục hay không là phụ thuộc vào điểm bắt đầu xuất phát. Nếu ta xuất phát từ một điểm đúng thì ta có thể tìm đƣợc

cực đại toàn cục. Tuy nhiên vấn đề tìm điểm xuất phát đúng thƣờng rất khó. Ta có thể sử dụng hai phƣơng pháp để giải quyết vấn đề này nhƣ sau:

Một là: Tiến hành thử nhiều giá trị khởi đầu khác nhau, qua đó tiến hành lựa chọn phƣơng án mà giá trị hàm mục tiêu hội tụ lớn nhất.

Hai là: Ta sẽ sử dụng một mô hình đơn giản hơn để tiến hành xác định giá trị khởi đầu. Qua đó sẽ tìm đƣợc vùng tồn tại cực đại toàn cục, sau đó ta sẽ chọn một giá trị khởi đầu trong vùng đó để tiến hành bắt đầu với mô hình phức tạp.

Thuật toán kỳ vọng cực đại có ƣu điểm là có mô hình toán rõ ràng, học theo khung mô hình xác suất khá tốt và có hiệu quả rất tốt nếu mô hình đó là mô hình dạng đóng. Tuy nhiên, thuật toán còn những mặt hạn chế là ta cần phải xác định đƣợc tính chính xác của mô hình, xác minh đƣợc tính đồng nhất của mô hình, ngoài ra xác định tối ƣu bằng giải thuật kỳ vọng cực đại sẽ làm ảnh hƣởng đến những dữ liệu không đƣợc gán nhãn nếu mô hình bị sai.

2.1.2. Thuật toán tự huấn luyện

2.1.2.1 Giới thiệu thuật toán tự huấn luyện

Thuật toán tự huấn luyện (Self – training) là một thuật toán học nửa giám sát đƣợc sử dụng rất phổ biến hiện nay, với tập dữ liệu huấn luyện bao gồm một số lƣợng nhỏ các dữ liệu đã đƣợc gán nhãn kết hợp với một lƣợng lớn các dữ liệu đã đƣợc gán nhãn. Ban đầu bộ phân lớp đƣợc huấn luyện bằng một số lƣợng nhỏ các dữ liệu đã đƣợc gán nhãn. Tiếp đến bộ phân lớp này đƣợc dùng để gán nhãn cho những dữ liệu chƣa đƣợc gán nhãn, các dữ liệu đƣợc gán nhãn này tiếp tục đƣợc đƣa vào tập dữ liệu huấn luyện. Sau đó bộ phân lớp sẽ đƣợc huấn luyện lại và lặp lại các quy trình. Ta thấy rằng bộ phân lớp sử dụng các dự đoán của chính hệ thống để dạy chính nó. Quá trình này đƣợc gọi là tự huấn luyện [1].

Hình 2.3. Quá trình tự huấn luyện

2.1.2.2. Nội dung thuật toán

Đầu vào:

D : Tập dữ liệu có nhẵn và chƣa có nhãn.

L : Tập dữ liệu đã gán nhãn trong D.

U : Tập dữ liệu chƣa có nhãn trong D.

Đầu ra:

Một cấu trúc thông minh trên tập dữ liệu D.

Để thực hiện thuật toán, trƣớc tiên ta phải chọn một thuật toán học có giám sát để tiến hành huấn luyện trên tập dữ liệu dữ liệu đã gán nhãn. Thuật toán này còn gọi là thuật toán nhân. Sau khi đã chọn đƣợc thuật toán nhân ta áp dụng vào thuật toán tự huấn luyện nhƣ sau:

Thuật toán:

Repeat

Sử dụng h để phân lớp dữ liệu trong tập U;

Tìm tập con U’  U có độ tin cậy cao nhất:

L L + U’;

U U – U’;

Until U =

* Đánh giá thuật toán

Giải thuật tự huấn luyện là phƣơng pháp đơn giản nhất trong học nửa giám sát. Thuật toán tự huấn luyện đƣợc ứng dụng để giải quyết các bài toán về xử lý ngôn ngữ tự nhiên, các bài toán phát hiện các đối tƣợng hệ thống từ các hình ảnh. Ngoài ra thuật toán tự huấn luyện còn đƣợc ứng dụng để giải quyết các bài toán phân tách và dịch máy, …

Giải thuật có mô hình toán học dễ hiểu, sáng sủa và dễ học, giải thuật có độ phức tạp phụ thuộc vào số lƣợng mẫu huấn luyện và độ phức tạp của bộ phân lớp có giám sát h.

2.1.3. Thuật toán đồng huấn luyện

2.1.3.1. Giới thiệu thuật toán đồng huấn luyện

Đồng huấn luyện (Co-training) là một kỹ thuật học nửa giám sát yêu cầu hai Khung nhìn dữ liệu (View). Nó giả sử rằng mỗi mẫu dữ liệu đƣợc mô tả bằng cách sử dụng hai bộ đặc tính khác nhau, đƣợc cung cấp khác nhau, bổ sung thông tin về mẫu dữ liệu đó. Lý tƣởng nhất, hai khung nhìn đƣợc xem là điều kiện độc lập (ví dụ: hai bộ đặc tính của mỗi mẫu dữ liệu là điều kiện độc lập để đƣa ra phân lớp của chúng) và mỗi khung nhìn là đủ (ví dụ: phân lớp của một mẫu dữ liệu có thể đƣợc dự đoán chính xác từ mỗi khung nhìn độc lập). Co- training ban đầu học một bộ phân lớp riêng cho mỗi khung nhìn, sử dụng bất kỳ mẫu dữ liệu đã gán nhãn nào. Những dự đoán gần đúng nhất của mỗi bộ phân

lớp trên các dữ liệu chƣa gán nhãn sau đó đƣợc sử dụng lặp đi lặp lại để xây dựng thêm các dữ liệu đƣợc gán nhãn.

2.1.3.2. Nội dung thuật toán

Giả sử các dữ liệu đƣa ra đã đƣợc gán nhãn nhƣ sau:

- Dữ liệu đã gán nhãn : (x1, y1),..., (xℓ, yℓ). - Dữ liệu chƣa gán nhãn : xℓ+1, ..., xℓ+u . - Hàm học f: x ⟼y.

 Giả sử véc tơ đặc trƣng X có thể đƣợc chia thành hai Khung nhìn (View) nhƣ sau:

 Huấn luyện hai bộ học cơ bản f(1): x(1)⟼y và f(2): x(2)⟼y

 Đầu tiên, học từ các dữ liệu đã gán nhãn: o f(1) học trên (x(1)1, y1),..., (x(1) ℓ, yℓ) o f(2) học trên (x(2)1, y1),..., (x(2) ℓ, yℓ)

 Sau đó, sử dụng lặp lại các dữ liệu chƣa gán nhãn:

o f(1) phân lớp các điểm chƣa gán nhãn mà hầu hết chứa các điểm rỗng. o f(1) thêm điểm này vào tập các nhãn của f(2).

o f(2) lặp lại nhƣ f(1) tới khi dữ liệu đƣợc gán nhãn hết thì dừng.  Ƣu điểm của phƣơng pháp Co-training

o Là một phƣơng pháp đơn giản, đƣợc áp dụng cho hầu hết các bộ phân lớp hiện nay.

o Ít xảy ra lỗi hơn so với phƣơng pháp Self-training.  Nhƣợc điểm của phƣơng pháp Co-training

o Các Khung nhìn đƣợc chia tách có thể tồn tại hoặc không tồn tại. o Mô hình sử dụng cả hai Khung nhìn có thể sẽ tốt hơn.

2.1.4. Thuật toán máy véc tơ hỗ trợ (S3VM)

2.4.1.1. Thuật toán SVM

Thuật toán SVM (Support Vector Machine) là một thuật toán học có giám sát với bộ dữ liệu huấn luyện là các dữ liệu đã đƣợc gán nhãn. Thuật toán SVM nhằm mục đích xây dựng một siêu phẳng dựa trên tập dữ liệu huấn luyện, sao cho khi phân lớp một đối tƣợng dữ liệu mới thì độ sai lệch là cực tiểu, độ sai lệch đƣợc đặc trƣng bởi khoảng cách từ dữ liệu tới siêu phẳng.

Thuật toán SVM đã đƣợc ứng dung để giải quyết rất nhiều những bài toán trong các lĩnh vực khác nhau. Đặc biệt SVM đã đƣợc ứng dụng để giải quyết bài toán phân lớp văn bản và thu đƣợc nhƣng thành tựu rất tích cực, nó đã đƣợc chứng minh là một trong những thuật toán phân lớp văn bản mạnh nhất để giải quyết bài toán này.

Hình 2.4 Phân lớp SVM * Nội dung thuật toán SVM

Nội dung giải thuật dựa trên bài toán phân lớp đơn giản nhất là bài toán phân lớp nhi phân. với tập dữ liệu huấn luyện nhƣ sau:

D = {(xi, yi) | xi RP, yi {-1, 1}, i = 1, 2, …, n} Lề Các mẫu dƣơng Các mẫu âm Mặt siêu phẳng lề tối ƣu

Trong đó tập dữ liệu huấn luyện là các vector đối tƣợng đƣợc phân lớp thành các mẫu dƣơng và mẫu âm.

 Các mẫu dƣơng là các mẫu xi thuộc lĩnh vực quan tâm và đƣợc gán nhãn yi = 1.

 Các mẫu âm là các mẫu xi không thuộc lĩnh vực quan tâm và đƣợc gán yi = - 1.

Bài toán lúc này chính là một bài toán tối ƣu với mục tiêu là tìm ra một không gian H và siêu mặt phẳng quyết định h trên H sao cho sai số phân lớp là nhỏ nhất.

Trong tình huống này bộ phân lớp SVM là mặt siêu phẳng phân tách các mẫu dƣơng và các mẫu âm ra thành hai nhóm với độ chênh lệch là cực đại. Trong đó khoảng cách giữa các mẫu dƣơng và các mẫu âm gần mặt siêu phẳng nhất còn đƣợc gọi là lề. Mặt siêu phẳng này đƣợc gọi là mặt siêu phẳng lề tối ƣu.

Trong không gian đối tƣợng, mỗi siêu phẳng đều có thể đƣợc viết dƣới dạng một tập hợp các điểm thỏa mãn: w x + b = 0.

Với w là một véc tơ pháp tuyến của siêu phẳng hay còn gọi là véc tơ trọng số, b là độ dịch.Khi ta thay đổi w và b thì hƣớng và khoảng cách từ gốc toạ độ đến mặt siêu phẳng thay đổi.

* Bộ phân lớp SVM đƣợc xác định nhƣ sau:

Bô phân lớp SVM phụ thuộc vào tham số vector trọng số w và độ dịch b. Mục tiêu của phƣơng pháp SVM là ƣớc lƣợng w và bsao cho cực đại hoá lề giữa các lớp dữ liệu dƣơng và âm.

Vậy chúng ta cần chọn w và b để cực đại hóa lề sao cho khoảng cách giữa hai siêu mặt song song ở xa nhau nhất có thể trong khi vẫn phân chia đƣợc dữ liệu. Các siêu phẳng đƣợc xác định bằng các công thức sau:

Ta thấy rằng nếu dữ liệu huấn luyện có thể đƣợc chia tách một cách tuyến tính, thì ta có thể chọn hai siêu phẳng của lề sao cho không có điểm nào nằmgiữa chúng và sau đó tiến hành tăng khoảng cách giữa chúng đến tối đa có thể. Bằng phƣơng pháp hình học ta tính đƣợc khoảng cách giữa hai siêu phẳng là

|| ||

2

w . Do vậy nếu muốn cực đại hóa khoảng cách giữa hai siêu phẳng lề thì ta phải tiến hành cực tiểu hóa giá trị ||w||.

Để không có điểm dữ liệu nào nằm trong lề, ta có các điều kiện sau, với mỗi i ta có:

w xi + b ≥ 1 đối với xi thuộc lớp thứ nhất.

w xi + b ≤ -1 đối với xi thuộc lớp thứ hai.

Ta có thể viết gọn lại nhƣ sau: yi (w xi + b) ≥ 1 với 1≤ i ≤ n.

Vậy ta có bài toán tối ƣu hóa sau:

Bài toán tối ƣu trên khá khóvì hàm mục tiêu phụ thuộc vào ||w||, là một hàm có khai căn. Để thuận tiện cho việc giải bài toán ta có thể thay ||w|| bằng hàm mục tiêu 2

|| || 2 1

w ,lời giải của bài toán này và bài toán ban đầu có cùng kết quả w và b, số 1/2 đƣợc thêm vào nhằm mục đích thuận tiện cho các biến đổi toán học về sau. Ta nhận thấy rằng bài toán này chính là một bài toán quy hoạch toàn phƣơng.

Vậy bài toán đầu đƣợc thay bằng bài toán sau:

Một phần của tài liệu phương pháp học nửa giám sát và ứng dụng (Trang 25 - 77)

Tải bản đầy đủ (PDF)

(77 trang)