1. Trang chủ
  2. » Luận Văn - Báo Cáo

Phương pháp thống kê đánh giá và so sánh các thuật toán máy học

14 874 2

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 14
Dung lượng 773,89 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Đối với bài toán máy học, để đánh giá hiệu năng của hệ thống ta cần có các điều kiện sau: - Thực hiện một cách tự động, sử dụng một tập các ví dụ tập thử nghiệm - Không cần sự tham gia c

Trang 1

Cross Validation – Phương pháp thống kê đánh giá và so sánh

các thuật toán máy học

1 Giới thiệu

Việc đánh giá hiệu năng hệ thống máy học thường được thực hiện dựa trên thực nghiệm (experimentally), hơn là dựa trên phân tích (analytically) Xem qui trình phân tích hệ thống máy học trong hình 1 Các đánh giá phân tích (analytical evaluation) nhằm chứng minh một hệ thống là đúng đắn (correct) và hoàn chỉnh (complete) Ví dụ, các bộ chứng minh định lý trong Logics Ta không thể xây dựng một đặc tả (định nghĩa) hình thức của vấn đề mà một hệ thống máy học giải quyết Đối với bài toán máy học, để đánh giá hiệu năng của hệ thống ta cần có các điều kiện sau:

- Thực hiện một cách tự động, sử dụng một tập các ví dụ (tập thử nghiệm)

- Không cần sự tham gia (can thiệp) của người dùng

Hình 1: Phân tích bộ phân lớp

Để thu được một đánh giá đáng tin cậy về hiệu năng của hệ thống, ta cần có:

Trang 2

- Tập kiểm thử càng lớn, thì việc đánh giá càng chính xác

Tuy nhiên, rất khó (ít khi) có thể có được các tập dữ liệu (rất) lớn Trong đó, hiệu năng của hệ thống không chỉ phụ thuộc vào giải thuật học máy được sử dụng, mà còn phụ thuộc vào:

- Phân bố lớp (Class distribution)

- Chi phí của việc phân lớp sai (Cost of misclassification)

- Kích thước của tập huấn luyện (Size of the training set)

- Kích thước của tập kiểm thử (Size of the test set)

1.1 Các kiểu huấn luyện

1.1.1 Học có giám sát

Học có giám sát là một kĩ thuật xây dựng một hàm (function) từ dữ liệu huấn

luyện Dữ liệu huấn luyện bao gồm các cặp gồm đối tượng đầu vào (thường dạng vec-tơ), và đầu ra mong muốn Đầu ra của một hàm có thể là một giá trị liên tục (gọi là hồi qui), hay có thể là dự đoán một nhãn phân loại cho một đối tượng đầu vào (gọi là phân loại) Nhiệm vụ của chương trình học có giám sát là

dự đoán giá trị của hàm cho một đối tượng bất kì là đầu vào hợp lệ, sau khi đã xem xét một số ví dụ huấn luyện (nghĩa là, các cặp đầu vào và đầu ra tương ứng) Để đạt được điều này, chương trình học phải tổng quát hóa từ các dữ liệu sẵn có để dự đoán được những tình huống chưa gặp phải theo một cách "hợp lí"

Học có giám sát có thể tạo ra 2 loại mô hình Phổ biến nhất, học có giám sát

tạo ra một mô hình toàn cục (global model) để ánh xạ đối tượng đầu vào đến

đầu ra mong muốn Tuy nhiên, trong một số trường hợp, việc ánh xạ được thực hiện dưới dạng một tập các mô hình cục bộ (như trong phương pháp lập luận

theo tình huống (case-based reasoning) hay giải thuật láng giềng gần nhất)

Trang 3

Để có thể giải quyết một bài toán nào đó của học có giám sát (ví dụ: học để nhận dạng chữ viết tay) người ta phải xem xét nhiều bước khác nhau:

 Xác định loại của các ví dụ huấn luyện Trước khi làm bất cứ điều gì, ta nên quyết định loại dữ liệu nào sẽ được sử dụng làm ví dụ Chẳng hạn,

đó có thể là một kí tự viết tay đơn lẻ, toàn bộ một từ viết tay, hay toàn

bộ một dòng chữ viết tay

 Thu thập tập huấn luyện Tập huấn luyện cần đặc trưng cho thực tế sử dụng của hàm chức năng Vì thế, một tập các đối tượng đầu vào được thu thập và đầu ra tương ứng được thu thập, hoặc từ các chuyên gia hoặc từ việc đo đạc tính toán

 Xác định việc biễu diễn các đặc trưng đầu vào cho hàm chức năng cần tìm Sự chính xác của hàm chức năng phụ thuộc lớn vào cách các đối tượng đầu vào được biểu diễn Thông thường, đối tượng đầu vào được chuyển đổi thành một vec-tơ đặc trưng, chứa một số các đặc trưng nhằm

mô tả cho đối tượng đó Số lượng các đặc trưng không nên quá lớn, do

sự bùng nổ tổ hợp nhưng phải đủ lớn để dự đoán chính xác đầu ra

 Xác định cấu trúc của hàm chức năng cần tìm và giải thuật học tương ứng Ví dụ, người kĩ sư có thể lựa chọn việc sử dụng mạng nơ-ron nhân tạo hay cây quyết định

 Hoàn thiện thiết kế Người kĩ sư sẽ chạy giải thuật học từ tập huấn luyện thu thập được Các tham số của giải thuật học có thể được điều chỉnh

bằng cách tối ưu hóa hiệu năng trên một tập con (gọi là tập kiểm chứng

-validation set) của tập huấn luyện, hay thông qua kiểm chứng chéo

(cross-validation) Sau khi học và điều chỉnh tham số, hiệu năng của

giải thuật có thể được đo đạc trên một tập kiểm tra độc lập với tập huấn luyện

1.1.2 Học bán giám sát

Trang 4

Các phương pháp học bán giám sát sẽ rất hữu ích khi dữ liệu chưa gán nhãn nhiều hơn dữ liệu gán nhãn Việc thu được dữ liệu gán nhãn là rẻ, nhưng để gán nhãn chúng thì tốn rất nhiều thời gian, công sức và tiền bạc Học bán giám

sát có thể được xem là:

 Học giám sát cộng thêm dữ liệu chưa gán nhãn (Supervised learning + additional unlabeled data)

 Học không giám sát cộng thêm dữ liệu gán nhãn (Unsupervised learning + additional labeled data)

Học bán giám sát chính là cách học sử dụng thông tin chứa trong cả dữ liệu chưa gán nhãn và tập dữ liệu huấn luyện Các thuật toán học bán giám sát có nhiệm vụ chính là mở rộng tập các dữ liệu gán nhãn ban đầu Hiệu quả của thuật toán phụ thuộc vào chất lượng của các mẫu gán nhãn được thêm vào ở mỗi vòng lặp và được đánh giá dựa trên hai tiêu chí:

 Các mẫu được thêm vào phải được gán nhãn một cách chính xác

 Các mẫu được thêm vào phải mang lại thông tin hữu ích cho bộ phân lớp (hoặc dữ liệu huấn luyện)

1.2 Vấn đề quá khớp (overfitting)

1.2.1 Learning curve – Biểu đồ học

Dùng biểu đồ học để thao dõi việc học của chương trình huấn luyện (classifier, hoặc các tham số huấn luyện) được tiến triển như thế nào trong suốt quá trình học Thông thường, trong khoản thời gian đầu việc học phát triển rất nhanh và chậm dần trong khoản thời gian sau và đạt đến trạng thái tối ưu Theo logic, thì học càng nhiều và càng lâu thì người học sẽ càng giỏi (biểu hiện thông qua biểu đồ học ngày sẽ càng tăng)

Biểu đồ học thường được xác định thông qua các hàm cực tiểu xác suất lỗi (minimize generalization error) hoặc các hàm ước lượng cực đại khả năng xảy

ra (maximization likelihood estimation) tuỳ theo từng bài toán cụ thể

Trang 5

Song song với biểu đồ học, ta có biểu đồ kiểm tra việc học (testing curve) Việc kiểm tra đạt kết quả cao hay thấp sẽ đánh giá được quá trình học là tốt hay không tốt Việc kiểm tra tốt thông thường là ngẫu nhiên và khách quan với việc học cho nên việc kiểm tra thường hiếm khi trùng khớp với những gì đã học, ngoại trừ kiểm tra việc học theo cách học thuộc long Do vậy, biểu đồ kiểm tra thường phải thấp hơn biểu đồ học

Hình 2: Biểu đồ học và kiểm tra việc học 1.2.2 Xác định quá khớp

Trong việc huấn luyện, mục tiêu là làm thế nào để người học được huấn luyện một cách tốt nhất Trong nhiều trường hợp, biểu đồ học cho thấy quá trình huấn luyện là rất tốt, nhưng khi kiểm tra thì lại không đạt kết quả cao Nếu tiếp tục quá trình học cây quyết định sẽ làm giảm độ chính xác đối với tập thử nghiệm mặc dù tăng độ chính xác đối với tập học Ví dụ, một sinh viên đạt được điểm số và thành tích trong học tập rất cao, nhưng khi ra trường làm việc thì đạt kết quả thấp Điều đó cho thấy quá trình huấn luyện có vấn đề, và các vấn đề trong quá trình huấn luyện là do một số nguyên nhân như sau:

Trang 6

Hình 3: Minh hoạ vấn đề quá khớp 1.2.3 Xữ lý quá khớp

Ngừng việc học (phát triển) cây quyết định sớm hơn, trước khi nó đạt tới cấu trúc cây cho phép phân loại (khớp) hoàn hảo tập huấn luyện

Học (phát triển) cây đầy đủ (tương ứng với cấu trúc cây hoàn toàn phù hợp đối với tập huấn luyện), và sau đó thực hiện quá trình tỉa (to post-prune) cây Chiến lược tỉa cây đầy đủ (Post-pruning over-fit trees)thường cho hiệu quả tốt hơn trong thực tế vì chiến lược “ngừng sớm” việc học cây cần phải đánh giá chính xác được khi nào nên ngừng việc học (phát triển) cây, điều này khó xác định

Trang 7

2 Cross Validation – Đánh giá chéo

 Hold-out

Toàn bộ tập ví dụ D được chia thành 2 tập con không giao nhau gồm: Tập huấn luyện D_train – dùng để huấn luyện hệ thống, và tập kiểm thử D_test – dùng

để đánh giá hiệu năng của hệ thống đã học

Với, D = D_train ∪ D_test, và thường là |D_train| >> |D_test|

Theo cách như vậy thì bất kỳ ví dụ nào thuộc vào tập kiểm thử D_test đều không được sử dụng trong quá trình huấn luyện hệ thống, và bất kỳ ví dụ nào được sử dụng trong giai đoạn huấn luyện hệ thống (nghĩa là thuộc vào tập D_train) đều không được sử dụng trong giai đoạn đánh giá hệ thống Các ví dụ kiểm thử trong D_test cho phép một đánh giá không thiên vị đối với hiệu năng của hệ thống Thông thường, tập ví dụ được chia như sau:

|D_train|=(2/3).|D|, |D_test|=(1/3).|D|

Cách này phù hợp khi ta có tập ví dụ D có kích thước lớn

 Stratified sampling

Đối với các tập ví dụ có kích thước nhỏ hoặc không cân xứng (unbalanced datasets), các ví dụ trong tập huấn luyện và thử nghiệm có thể không phải là đại diện Ví dụ, có (rất) ít hoặc không có các ví dụ đối với một số lớp Phương pháp này cần có phân bố lớp (class distribution) trong tập huấn luyện và tập kiểm thử phải xấp xỉ như trong tập toàn bộ các ví dụ (D) Để thực hiện điều này, ta lấy mẫu phân tầng (Stratified sampling) để cân xứng (về phân bố lớp)

và đảm bảo tỷ lệ phân bố lớp (tỷ lệ các ví dụ giữa các lớp) trong tập huấn luyện

và tập kiểm thử là xấp xỉ nhau Tuy nhiên, phương pháp lấy mẫu phân tầng không áp dụng được cho bài toán học máy dự đoán/hồi quy (vì giá trị đầu ra của hệ thống là một giá trị số, không phải là một nhãn lớp)

 Repeated hold-out

Trang 8

Áp dụng phương pháp đánh giá Hold-out nhiều lần, để sinh ra các tập huấn luyện và thử nghiệm khác nhau Trong mỗi bước lặp, một tỷ lệ nhất định của tập D được lựa chọn ngẫu nhiên để tạo nên tập huấn luyện (có thể sử dụng kết hợp với phương pháp lấy mẫu phân tầng – stratified sampling) Phương pháp này thì các giá trị lỗi (hoặc các giá trị đối với các tiêu chí đánh giá khác) ghi nhận được trong các bước lặp này được lấy trung bình cộng (averaged) để xác định giá trị lỗi tổng thể

Tuy nhiên, phương pháp này vẫn không hoàn hảo vì mỗi bước lặp sử dụng một tập kiểm thử khác nhau, và có thể có một số ví dụ trùng lặp (được sử dụng lại nhiều lần) trong các tập kiểm thử này

Để tránh việc trùng lặp giữa các tập kiểm thử (một số ví dụ cùng xuất hiện trong các tập kiểm thử khác nhau), giải pháp như sau xuất hiện

o k-fold cross-validation: Tập toàn bộ các ví dụ D được chia thành k tập con không giao nhau (gọi là “fold”) có kích thước xấp xỉ nhau Mỗi lần (trong số k lần) lặp, một tập con được sử dụng làm tập kiểm thử, và (k-1) tập con còn lại được dùng làm tập huấn luyện

o k giá trị lỗi (mỗi giá trị tương ứng với một fold) được tính trung bình cộng để thu được giá trị lỗi tổng thể Các lựa chọn thông thường của k:

10, hoặc 5

Thông thường, mỗi tập con (fold) được lấy mẫu phân tầng (xấp xỉ phân bố lớp) trước khi áp dụng quá trình đánh giá Cross-validation Phương pháp này rất phù hợp khi ta có tập ví dụ D vừa và nhỏ

Trang 9

Hình 4: CV với 3-fold

 Leave-one-out

Đây là một trường hợp (kiểu) của phương pháp Cross-validation Theo đó,số lượng nhóm (các folds) bằng kích thước của tập dữ liệu (k=|D|), và mỗi nhóm (fold) chỉ bao gồm một ví dụ Sau đó, khai thác tối đa (triệt để) tập ví dụ ban đầu Phương pháp này hoàn toàn không có bước lấy mẫu ngẫu nhiên (no random subsampling) Phương pháp này không phù hợp khi áp dụng lấy mẫu phân tầng (stratification) vì ở mỗi bước lặp, tập thử nghiệm chỉ có một ví dụ

Do vậy, chi phí tính toán (rất) cao Nên phương pháp này chỉ phù hợp khi ta có một tập ví dụ D (rất) nhỏ

 Bootstrap sampling

Nếu như phương pháp Cross-validation sử dụng việc lấy mẫu không lặp lại(sampling without replacement) Bởi vì đối với mỗi dụ ví dụ, một khi đã được chọn (được sử dụng), thì không thể được chọn (sử dụng) lại cho tập huấn luyện Trong khi đó, phương pháp Bootstrap sampling sử dụng việc lấy mẫu có lặp lại (sampling with replacement) để tạo nên tập huấn luyện

Giả sử tập toàn bộ D bao gồm n ví dụ Ta lấy mẫu có lặp lại n lần đối với tập D

để tạo nên tập huấn luyện, D_train gồm n ví dụ

Trang 10

 Từ tập D, lấy ra ngẫu nhiên một ví dụ x (nhưng không loại bỏ x khỏi tập D)

 Đưa ví dụ x vào trong tập huấn luyện: D_train = D_train ∪ x

 Lặp lại 2 bước trên n lần

 Sử dụng tập D_train để huấn luyện hệ thống

 Sử dụng tất cả các ví dụ thuộc D nhưng không thuộc D train để tạo nên tập thử nghiệm: D_test = {z∈D; z∉D_train}

Trong mỗi bước lặp, một ví dụ có xác suất

 

n

1 1

để không được lựa chọn đưa vào tập huấn luyện.Vì vậy, xác suất để một ví dụ (sau quá trình lấy mẫu lặp lại – bootstrap sampling) được đưa vào tập kiểm thử là:

368 0

1

e n

n

Có nghĩa là:

Tập huấn luyện có kích thước = n) bao gồm xấp xỉ 63.2% các ví dụ trong D (Lưu ý: Một ví dụ thuộc tập D có thể xuất hiện nhiều lần trong tập D_train)

Tập kiểm thử (có kích thước < n) bao gồm xấp xỉ 36.8% các ví dụ trong D (Lưu ý: Một ví dụ thuộc tập D chỉ có thể xuất hiện tối đa 1 lần trong tập D_test) Phương pháp này phù hợp khi ta có một tập dữ liệu D có kích thước (rất) nhỏ

Tuỳ thuộc vào bài toán huấn luyện ta có cách tính tỷ lệ lỗi trung bình Lỗi xảy

ra là do quá trình học có vấn đề, hoặc dữ liệu huấn luyện bị lỗi Trong tất cả các mô hình, mô hình nào cũng xảy ra lỗi, có sai sót Tuy nhiên, lỗi xảy ra ở mức độ nhỏ thì mô hình đó chấp nhận được Vậy mục tiêu của việc huấn luyện

là tạo ra mô hình cực tiểu tỷ lệ lỗi trung bình giữa quá trình huấn luyện và quá trình thực nghiệm thực tế

Trang 11

Hình 5: tính toán tỷ lệ lỗi cho CV 3-fold

Trang 12

3 Thực nghiệm minh hoạ

Trong trò chơi cờ, trọng số bàn cờ dùng để góp phần xác định xác xuất chọn một nước đi trong số các nước đi ứng viên Nếu chọn được hàm mục tiêu tốt thì sẽ đánh giá được trọng số tốt, việc huấn luyện này dựa trên tập các ván cờ chất lượng cao Phần minh hoạ này dựa trên các ván cờ có sẵn của trò chơi Othello

Đây là hàm mục tiêu:

Hình 6 Mô tả hàm mục tiêu f1

Công việc là *X [0,]9, tìm tham số tối ưu χ*, X là không gian tìm kiếm, để

đạt được giá trị tối ưu của hàm mục tiêu fi (H, x)

Dữ liệu được lấy từ link sau: (http://skatgame.net/mburo/ggs/game-archive/Othello/)

– H: tập 10.000 ván cờ chất lượng cao

– |H|: 537317 nước đi từ 10.000 ván cờ

Tham số khởi tạo: 300 (tuỳ chọn)

Phạm vi thay đổi tham số: +/- 10%

Số lần lặp: 4000

Hệ số ELO của các người chơi trong các ván cờ từ 1100 đến 2600

Sau khi chạy thực nghiệm, ta có được đường biểu đồ học (learning curve)

Trang 13

Hình 7 Kết quả học

Trang 14

4 Kết luận

4.1 Ưu điểm và khuyết điểm của các phương pháp kiểm tra

Resubstitution

Validation

Đơn giản Over-fitting

Hold-out

Validation

Huấn luyện và kiểm thử độc lập

Giảm dữ liệu để huấn luyện và kiểm thử; khác biệt lớn

k-fold cross

validation

Ước lượng hiệu suất chính xác

Ước lượng hiệu suất các mẫu nhỏ;

Dữ liệu huấn luyện trùng lắp;

Lỗi kiểu I cao khi so sánh;

Khác biệt hiệu suất không cao hay mức

độ tự do quá cao khi so sánh

Leave-One-Out

cross-validation

Ước lượng hiệu suất không lệch

Khác biệt quá lớn

Repeated

k-fold

cross-validation

Số lượng ước lượng hiệu suất lớn

Dữ liệu huấn luyện và kiểm thử trùng lắp giữa mỗi vòng;

Độ lệch hiệu suất không cao hay mức

độ tự do quá cao khi so sánh

4.2 Các ứng dụng

Cross-validation có thể áp dụng tốt trên ba ngữ cảnh: ước lượng hiệu suất, lựa chọn mô hình, và các tham số mô hình học có điều chỉnh

Tài liệu tham khảo

1 Slide bài giảng môn Các hệ cơ sở tri thức của GS.TSKH Hoàn Kiếm

2 Slide bài giảng môn Khai thác dữ liệu của PGS.TS Đỗ Phúc

3 Slide bài giảng môn Máy học của TS Nguyễn Nhật Quang

Ngày đăng: 10/04/2015, 16:26

HÌNH ẢNH LIÊN QUAN

Hình 1: Phân tích bộ phân lớp - Phương pháp thống kê đánh giá và so sánh các thuật toán máy học
Hình 1 Phân tích bộ phân lớp (Trang 1)
Hình 2: Biểu đồ học và kiểm tra việc học  1.2.2  Xác định quá khớp - Phương pháp thống kê đánh giá và so sánh các thuật toán máy học
Hình 2 Biểu đồ học và kiểm tra việc học 1.2.2 Xác định quá khớp (Trang 5)
Hình 3: Minh hoạ vấn đề quá khớp  1.2.3  Xữ lý quá khớp - Phương pháp thống kê đánh giá và so sánh các thuật toán máy học
Hình 3 Minh hoạ vấn đề quá khớp 1.2.3 Xữ lý quá khớp (Trang 6)
Hình 4: CV với 3-fold - Phương pháp thống kê đánh giá và so sánh các thuật toán máy học
Hình 4 CV với 3-fold (Trang 9)
Hình 5: tính toán tỷ lệ lỗi cho CV 3-fold - Phương pháp thống kê đánh giá và so sánh các thuật toán máy học
Hình 5 tính toán tỷ lệ lỗi cho CV 3-fold (Trang 11)
Hình 7. Kết quả học - Phương pháp thống kê đánh giá và so sánh các thuật toán máy học
Hình 7. Kết quả học (Trang 13)

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w