Đồ Án Môn Học: Thiết Kế và Phân Tích Thí Nghiệm Máy Học (Chương 19)

Hướng dẫn chi tiết về thiết kế và phân tích thí nghiệm máy học, giúp đánh giá, so sánh và lựa chọn mô hình một cách chính xác và hiệu quả.

Chuyên ngành

Công Nghệ Thông Tin

Người đăng

Ẩn danh

Thể loại

Đồ Án Môn Học

Năm 05/2

49
2
0

Phí lưu trữ

30 Point

Mục lục chi tiết

19. Chương 19: Thiết kế và phân tích thí nghiệm Máy học

19.2. Các yếu tố, Phản ứng và Chiến lược của Thí nghiệm

Thiết kế bề mặt phản hồi

Nguyên tắc cơ bản của thiết kế thí nghiệm (Ngẫu nhiên, lặp lại và chặn)

19.5. Hướng dẫn cho Thí nghiệm Học máy

19.6. Phương pháp Cross-Validation và Resampling

19.6.1. Phương pháp K-Fold Cross-Validation

19.7. Đo lường hiệu suất của bộ phân loại

19.9. Kiểm định giả thuyết

19.10. Đánh giá hiệu suất của thuật toán phân loại

19.1. Kiểm định nhị phân

19.2. Kiểm định xấp xỉ theo phân phối chuẩn

19.11. So sánh hai thuật toán phân loại

1. Thử nghiệm McNemar

Kiểm tra theo cặp

19.3. 5 × 2 cv Ghép nối t thử nghiệm

19.4. Thử nghiệm F ghép nối 5 × 2 CV

19.12. So sánh nhiều thuật toán: Phân tích phương sai

19.13. So sánh trên nhiều bộ dữ liệu

1. So sánh hai thuật toánkiểm tra dấu hiệu

2. Nhiều thuật toán

19.14. Thử nghiệm đa biến

1. So sánh hai thuật toán

2. So sánh nhiều thuật toán

19.17. Tài liệu tham khảo

Tóm tắt

I. Tổng Quan Về Thiết Kế Thí Nghiệm Machine Learning Giới Thiệu

Chương này tập trung vào thiết kế thí nghiệm Machine Learning để đánh giá và so sánh hiệu suất các thuật toán học trong thực tế. Đồng thời, các kiểm định thống kê dùng để phân tích kết quả thí nghiệm cũng được đề cập. Trước đó, ta đã biết, với một ứng dụng cụ thể, có rất nhiều thuật toán có thể áp dụng. Do đó, hai câu hỏi quan trọng cần được trả lời là: Làm thế nào để đánh giá được lỗi dự kiến của một thuật toán học trên một vấn đề? Và, cho hai thuật toán học, làm thế nào để khẳng định rằng một thuật toán có lỗi nhỏ hơn thuật toán khác đối với một ứng dụng cụ thể?

Không thể chỉ dựa vào lỗi huấn luyện để đưa ra quyết định. Tỷ lệ lỗi trên tập huấn luyện luôn nhỏ hơn tỷ lệ lỗi trên tập thử nghiệm. Tương tự, lỗi huấn luyện không thể được sử dụng để so sánh hai thuật toán. Cần một tập xác thực khác với tập huấn luyện. Thậm chí trên tập xác thực, một lần chạy có thể không đủ. Tập huấn luyện và xác thực có thể nhỏ và chứa các trường hợp đặc biệt. Phương pháp học cũng có thể phụ thuộc vào các yếu tố ngẫu nhiên khác ảnh hưởng đến tổng quát hóa. Do đó, cần nhiều lần chạy để lấy trung bình qua các nguồn ngẫu nhiên. Nếu chỉ huấn luyện và xác thực một lần, sẽ không thể kiểm tra tác động của những yếu tố đó.

Cần nhớ rằng bất kỳ kết luận nào rút ra đều được điều kiện bởi tập dữ liệu. Không so sánh các thuật toán học một cách độc lập với miền, mà chỉ trong một ứng dụng cụ thể. Không có gì như thuật toán học tốt nhất. Với bất kỳ thuật toán nào, đều có một tập dữ liệu nơi nó rất chính xác và một tập dữ liệu khác nơi nó rất kém. Việc chia một tập dữ liệu đã cho thành các cặp tập huấn luyện và xác thực chỉ để kiểm tra mục đích. Khi tất cả các kiểm tra hoàn thành và đã chọn thuật toán học tốt nhất, nên huấn luyện nó bằng toàn bộ dữ liệu. Cuối cùng, khi quyết định về một thuật toán cụ thể và muốn báo cáo lỗi kỳ vọng của nó, nên sử dụng một tập dữ liệu kiểm tra riêng biệt.

Thông thường, chúng ta so sánh các thuật toán học dựa trên tỷ lệ lỗi, nhưng trong thực tế, lỗi chỉ là một trong các tiêu chí ảnh hưởng đến quyết định. Một số tiêu chí khác bao gồm rủi ro khi lỗi được tổng quát hóa, thời gian huấn luyện và độ phức tạp không gian, khả năng giải thích và khả năng lập trình dễ dàng. Trong chương này, phương pháp thiết kế thí nghiệm một cách chính xác và phân tích dữ liệu thu thập được sẽ được thảo luận để có thể rút ra kết luận có ý nghĩa (Montgomery 2005).

1.1. Tầm quan trọng của kiểm định thống kê trong Machine Learning

Việc sử dụng kiểm định thống kê là rất quan trọng trong Machine Learning vì nó cho phép chúng ta đưa ra các kết luận khách quan và đáng tin cậy về hiệu suất của các mô hình. Thay vì chỉ dựa vào trực giác hoặc quan sát đơn lẻ, kiểm định thống kê cung cấp một khuôn khổ chặt chẽ để đánh giá và so sánh các thuật toán học. Điều này giúp đảm bảo rằng các quyết định được đưa ra dựa trên bằng chứng mạnh mẽ và có thể được tái tạo. Kiểm định thống kê cũng giúp chúng ta lượng hóa mức độ không chắc chắn trong ước tính của mình và xác định xem sự khác biệt giữa các mô hình có ý nghĩa thống kê hay không. Điều này đặc biệt quan trọng khi làm việc với dữ liệu phức tạp hoặc khi đưa ra các quyết định quan trọng dựa trên kết quả của Machine Learning. Ngoài ra, kiểm định thống kê còn giúp chúng ta phát hiện các vấn đề tiềm ẩn trong quá trình huấn luyện mô hình, chẳng hạn như overfitting hoặc bias. Bằng cách sử dụng các phương pháp thống kê, chúng ta có thể xác định và khắc phục những vấn đề này để cải thiện hiệu suất tổng thể của mô hình.

"Bất kỳ kết luận nào chúng ta rút ra từ phân tích của mình đều được điều kiện bởi tập dữ liệu chúng ta được cung cấp" - Wolpert 1995.

1.2. Tại sao cần Thiết Kế Thí Nghiệm khoa học trong Machine Learning

Thiết kế thí nghiệm khoa học là rất cần thiết trong Machine Learning để đảm bảo rằng các kết quả thu được là chính xác, đáng tin cậy và có thể tái tạo. Một thiết kế thí nghiệm tốt cho phép chúng ta kiểm soát các yếu tố có thể ảnh hưởng đến hiệu suất của mô hình, chẳng hạn như kích thước tập dữ liệu, tỷ lệ học và kiến trúc mạng nơ-ron. Điều này giúp chúng ta cô lập và đánh giá tác động của từng yếu tố một cách có hệ thống. Ngoài ra, thiết kế thí nghiệm khoa học cũng giúp chúng ta giảm thiểu bias và nhiễu trong quá trình đánh giá mô hình. Bằng cách sử dụng các phương pháp ngẫu nhiên hóa và lặp lại, chúng ta có thể đảm bảo rằng các kết quả thu được không bị ảnh hưởng bởi các yếu tố ngẫu nhiên hoặc các mẫu dữ liệu cụ thể. Một thiết kế thí nghiệm bài bản sẽ giúp chúng ta thu thập dữ liệu một cách có cấu trúc, từ đó cho phép chúng ta phân tích và diễn giải kết quả một cách hiệu quả. Điều này giúp chúng ta đưa ra các kết luận có ý nghĩa và đề xuất các cải tiến cho mô hình.

"Thống kê định nghĩa một phương pháp để thiết kế thí nghiệm một cách chính xác và phân tích dữ liệu thu thập được một cách sao cho có thể rút ra kết luận có ý nghĩa" - Montgomery 2005.

II. Các Yếu Tố Ảnh Hưởng Và Chiến Lược Trong DOE Machine Learning

Giống như trong các ngành khoa học và kỹ thuật khác, các thí nghiệm Machine Learning được thực hiện để thu thập thông tin về quy trình đang được xem xét. Trong trường hợp này, quy trình này là một bộ học. Bộ học này, sau khi được huấn luyện trên một tập dữ liệu, tạo ra một đầu ra cho một đầu vào cụ thể. Một thí nghiệm là một bài kiểm tra hoặc một loạt các bài kiểm tra, trong đó thay đổi các yếu tố ảnh hưởng đến đầu ra. Những yếu tố này có thể là thuật toán sử dụng, tập huấn luyện, đặc trưng đầu vào, và vân vân, và chúng ta quan sát những thay đổi trong phản ứng để có thể rút ra thông tin. Mục tiêu có thể là xác định những yếu tố quan trọng nhất, loại bỏ những yếu tố không quan trọng, hoặc tìm cấu hình của các yếu tố tối ưu hóa phản ứng - ví dụ, độ chính xác phân loại trên một tập kiểm tra cụ thể.

Quá trình tạo ra một đầu ra dựa trên một đầu vào và bị ảnh hưởng bởi các yếu tố có thể kiểm soát và không thể kiểm soát. Mục tiêu là lập kế hoạch và tiến hành các thí nghiệm Machine Learning và phân tích dữ liệu thu được từ các thí nghiệm, để có thể loại bỏ ảnh hưởng của ngẫu nhiên và thu được kết luận có thể coi là có ý nghĩa thống kê.

Trong Machine Learning, ta nhắm đến một bộ học có độ chính xác tổng quát cao nhất và độ phức tạp tối thiểu (để việc triển khai nó nhanh chóng và tiết kiệm không gian). Có các yếu tố có thể kiểm soát, như thuật toán học, siêu tham số, tập dữ liệu và biểu diễn đầu vào. Cũng có các yếu tố không thể kiểm soát, gây thêm sự biến thiên không mong muốn cho quy trình. Các chiến lược thí nghiệm khác nhau với hai yếu tố và mỗi yếu tố có năm mức. Đầu ra được sử dụng để tạo ra biến phản hồi.

2.1. Xác định biến phản hồi trong Thực nghiệm Machine Learning

Biến phản hồi là một phần cực kỳ quan trọng trong Thực nghiệm Machine Learning, nó đại diện cho kết quả hoặc hiệu suất mà chúng ta muốn đo lường và tối ưu hóa. Việc lựa chọn biến phản hồi phù hợp là rất quan trọng vì nó sẽ ảnh hưởng trực tiếp đến các kết luận và quyết định được đưa ra từ thí nghiệm. Một biến phản hồi tốt nên có các đặc điểm sau: có liên quan trực tiếp đến mục tiêu của thí nghiệm, có thể đo lường một cách chính xác và đáng tin cậy, nhạy cảm với các thay đổi trong các yếu tố đầu vào, và dễ dàng diễn giải và so sánh. Ví dụ, trong một bài toán phân loại, biến phản hồi có thể là độ chính xác phân loại, độ chính xác, độ phủ, hoặc F1-score. Trong một bài toán hồi quy, biến phản hồi có thể là sai số bình phương trung bình, sai số tuyệt đối trung bình, hoặc R-squared. Trong một bài toán học tăng cường, biến phản hồi có thể là phần thưởng tích lũy, tỷ lệ thành công, hoặc thời gian hội tụ. Biến phản hồi nên được lựa chọn dựa trên sự hiểu biết sâu sắc về bài toán và các yêu cầu cụ thể của ứng dụng. Nó cũng nên được xem xét cùng với các yếu tố khác, chẳng hạn như chi phí, thời gian, và khả năng diễn giải.

"Mục tiêu có thể là xác định những yếu tố quan trọng nhất, loại bỏ những yếu tố không quan trọng, hoặc tìm cấu hình của các yếu tố tối ưu hóa phản ứng - ví dụ, độ chính xác phân loại trên một tập kiểm tra cụ thể."

2.2. Các chiến lược Thiết Kế Thí Nghiệm khác nhau trong Machine Learning

Có nhiều chiến lược Thiết Kế Thí Nghiệm khác nhau có thể được sử dụng trong Machine Learning, mỗi chiến lược có những ưu điểm và nhược điểm riêng. Một số chiến lược phổ biến bao gồm: phương pháp đoán đúng nhất, sửa đổi một yếu tố một lần, thiết kế theo yếu tố, và thiết kế bề mặt phản hồi. Phương pháp đoán đúng nhất là một phương pháp đơn giản và trực quan, trong đó chúng ta bắt đầu từ một cài đặt của các yếu tố mà chúng ta tin là một cấu hình tốt và thay đổi các yếu tố một cách ngẫu nhiên cho đến khi chúng ta đạt được một trạng thái mà chúng ta cho là đủ tốt. Tuy nhiên, phương pháp này không có phương pháp hệ thống để sửa đổi các yếu tố và không có đảm bảo tìm ra cấu hình tốt nhất. Sửa đổi một yếu tố một lần là một phương pháp trong đó chúng ta quyết định một giá trị cơ sở cho tất cả các yếu tố và thử các mức khác nhau cho một yếu tố trong khi giữ tất cả các yếu tố khác ở mức cơ sở. Nhược điểm lớn của phương pháp này là nó giả định rằng không có sự tương tác giữa các yếu tố, điều này không luôn đúng. Thiết kế theo yếu tố là một phương pháp trong đó các yếu tố được thay đổi cùng nhau, thay vì một cách một cách một lần. Phương pháp này tốn kém hơn, nhưng nó có thể phát hiện các tương tác giữa các yếu tố. Thiết kế bề mặt phản hồi là một phương pháp trong đó chúng ta cố gắng sử dụng kiến thức thu thập từ các lần chạy trước để ước tính các cấu hình có khả năng có phản hồi cao. Phương pháp này có thể giảm số lần chạy cần thiết, nhưng nó phụ thuộc vào việc liệu phản hồi có thể được viết dưới dạng hàm bậc hai của các yếu tố hay không. Việc lựa chọn chiến lược Thiết Kế Thí Nghiệm phù hợp phụ thuộc vào các yếu tố như số lượng yếu tố, số lượng mức, chi phí của thí nghiệm, và sự phức tạp của mối quan hệ giữa các yếu tố và biến phản hồi.

"Với F yếu tố ở mỗi mức L, việc tìm kiếm một yếu tố một lần mất O(L · F) thời gian, trong khi thí nghiệm theo yếu tố lấy thời gian."

III. Các Nguyên Tắc Cơ Bản Trong Thiết Kế Thí Nghiệm Machine Learning

Có ba nguyên tắc cơ bản của thiết kế thí nghiệm cần được tuân thủ để đảm bảo tính hợp lệ và độ tin cậy của kết quả. Đó là: ngẫu nhiên, lặp lại và chặn.

Nguyên tắc ngẫu nhiên đòi hỏi thứ tự thực hiện các lần chạy phải được xác định ngẫu nhiên để kết quả độc lập. Điều này thường là một vấn đề trong các thí nghiệm thực tế liên quan đến các đối tượng vật lý; ví dụ, máy móc yêu cầu một thời gian để khởi động trước khi hoạt động trong khoảng thông thường của chúng, vì vậy các thử nghiệm nên được thực hiện theo thứ tự ngẫu nhiên để không làm sai lệch kết quả theo thời gian. Tuy nhiên, việc xác định thứ tự thường không là vấn đề trong các thí nghiệm phần mềm.

Nguyên tắc lặp lại ngụ ý rằng đối với cùng một cấu hình của các yếu tố có thể điều khiển được, thí nghiệm nên được chạy nhiều lần để lấy trung bình qua hiệu ứng của các yếu tố không thể kiểm soát. Trong Machine Learning, điều này thường được thực hiện bằng cách chạy cùng một thuật toán trên một số phiên bản resampled của cùng một tập dữ liệu; điều này được gọi là cross-validation.

Chặn được sử dụng để giảm hoặc loại bỏ sự biến thiên do các yếu tố phiền nhiễu ảnh hưởng đến phản hồi nhưng chúng ta không quan tâm đến. Ví dụ, các khuyết điểm được tạo ra trong một nhà máy cũng có thể phụ thuộc vào các lô nguyên liệu khác nhau, và hiệu ứng này nên được cô lập khỏi các yếu tố có thể kiểm soát trong nhà máy, chẳng hạn như thiết bị, nhân viên, và như vậy. Trong thí nghiệm Machine Learning, khi chúng ta sử dụng phương pháp resampling và sử dụng các tập con khác nhau của dữ liệu cho các lặp lại khác nhau, chúng ta cần đảm bảo rằng nếu chẳng hạn chúng ta đang so sánh các thuật toán học, tất cả các thuật toán đều sử dụng cùng một tập các tập con đã resample, nếu không sự khác biệt trong độ chính xác sẽ không chỉ phụ thuộc vào các thuật toán mà còn vào các tập con khác nhau.

Trong thống kê, nếu có hai quần thể, điều này được gọi là ghép cặp và được sử dụng trong các kiểm tra ghép cặp.

3.1. Vai trò của Ngẫu nhiên hóa trong Thiết Kế Thí Nghiệm Machine Learning

Ngẫu nhiên hóa đóng một vai trò quan trọng trong Thiết Kế Thí Nghiệm Machine Learning bằng cách giúp giảm thiểu bias và đảm bảo rằng các kết quả thu được là khách quan và đáng tin cậy. Khi chúng ta ngẫu nhiên hóa quá trình gán dữ liệu vào các tập huấn luyện, xác thực và kiểm tra, chúng ta giảm thiểu nguy cơ các đặc điểm cụ thể của dữ liệu có thể ảnh hưởng đến hiệu suất của mô hình một cách không mong muốn. Điều này giúp chúng ta đánh giá hiệu suất thực tế của mô hình một cách công bằng hơn. Ngoài ra, ngẫu nhiên hóa cũng giúp chúng ta giảm thiểu tác động của các yếu tố ngẫu nhiên khác có thể ảnh hưởng đến kết quả, chẳng hạn như thứ tự trình bày dữ liệu hoặc các giá trị khởi tạo của các tham số mô hình. Bằng cách ngẫu nhiên hóa các yếu tố này, chúng ta có thể đảm bảo rằng các kết quả thu được không bị ảnh hưởng bởi các mẫu ngẫu nhiên hoặc các điều kiện cụ thể. Việc sử dụng ngẫu nhiên hóa trong Thiết Kế Thí Nghiệm Machine Learning là một cách đơn giản nhưng hiệu quả để cải thiện tính hợp lệ và độ tin cậy của các kết quả.

"Nguyên tắc ngẫu nhiên đòi hỏi thứ tự thực hiện các lần chạy phải được xác định ngẫu nhiên để kết quả độc lập."

3.2. Tầm quan trọng của Lặp lại và Cross Validation trong đánh giá mô hình

Lặp lạiCross-Validation là các kỹ thuật quan trọng trong đánh giá mô hình Machine Learning vì chúng giúp chúng ta có được ước tính chính xác hơn và đáng tin cậy hơn về hiệu suất của mô hình. Khi chúng ta chỉ đánh giá mô hình một lần trên một tập dữ liệu cụ thể, chúng ta có nguy cơ thu được kết quả bị ảnh hưởng bởi các yếu tố ngẫu nhiên hoặc các đặc điểm cụ thể của tập dữ liệu đó. Điều này có thể dẫn đến việc đánh giá quá cao hoặc đánh giá quá thấp hiệu suất thực tế của mô hình. Bằng cách lặp lại quá trình đánh giá nhiều lần trên các tập dữ liệu khác nhau, chúng ta có thể giảm thiểu tác động của các yếu tố ngẫu nhiên và có được ước tính ổn định hơn về hiệu suất của mô hình. Cross-Validation là một kỹ thuật đặc biệt hiệu quả, trong đó chúng ta chia tập dữ liệu thành nhiều phần và sử dụng mỗi phần làm tập kiểm tra trong khi huấn luyện mô hình trên các phần còn lại. Điều này giúp chúng ta sử dụng tối đa dữ liệu sẵn có và có được ước tính tổng quát hơn về hiệu suất của mô hình. Việc sử dụng Lặp lạiCross-Validation là rất quan trọng để đảm bảo rằng các kết quả đánh giá mô hình là đáng tin cậy và có thể được sử dụng để đưa ra các quyết định thông minh.

"Nguyên tắc lặp lại ngụ ý rằng đối với cùng một cấu hình của các yếu tố có thể điều khiển được, thí nghiệm nên được chạy nhiều lần để lấy trung bình qua hiệu ứng của các yếu tố không thể kiểm soát."

IV. Hướng Dẫn Chi Tiết Thiết Kế Thí Nghiệm Machine Learning Hiệu Quả

Trước khi bắt đầu thực hiện thí nghiệm, cần có một ý tưởng tốt về những gì đang nghiên cứu, cách thu thập dữ liệu và cách phân tích nó. Các bước trong Machine Learning tương tự như bất kỳ loại thí nghiệm nào (Montgomery 2005). Lưu ý rằng tại thời điểm này, không quan trọng nhiệm vụ là phân loại hay hồi quy, hoặc nó là một ứng dụng học không giám sát hay học tăng cường. Cuộc thảo luận tổng quan là giống nhau; khác biệt chỉ nằm ở phân phối mẫu của dữ liệu đáp ứng được thu thập.

Đầu tiên, cần nêu rõ vấn đề một cách rõ ràng, định nghĩa mục tiêu của nghiên cứu. Trong Machine Learning, có thể có nhiều khả năng khác nhau. Có thể quan tâm đến việc đánh giá sai số dự kiến (hoặc một độ đo phản hồi khác) của một thuật toán học trên một vấn đề cụ thể và kiểm tra rằng, ví dụ, sai số thấp hơn một mức chấp nhận được nhất định. Cho hai thuật toán học và một vấn đề cụ thể được xác định bởi một tập dữ liệu, có thể muốn xác định xem thuật toán nào có sai số tổng quát ít hơn. Trong trường hợp tổng quát hơn, có thể có nhiều hơn hai thuật toán học và có thể muốn chọn thuật toán có sai số nhỏ nhất, hoặc sắp xếp chúng theo sai số, cho một tập dữ liệu cụ thể.

Thứ hai, cần quyết định về độ đo chất lượng mà nên sử dụng. Thông thường, sai số được sử dụng, tức là sai số phân loại sai cho bài toán phân loại và sai số bình phương trung bình cho bài toán hồi quy. Có thể sử dụng một biến thể khác; ví dụ, từ việc tổng quát từ 0/1 đến một hàm mất mát tùy ý, có thể sử dụng một độ đo rủi ro.

Thứ ba, cần lựa chọn yếu tố và mức độ. Những yếu tố phụ thuộc vào mục tiêu của nghiên cứu. Nếu giữ nguyên một thuật toán và muốn tìm ra các siêu tham số tốt nhất, thì đó chính là các yếu tố. Nếu đang so sánh các thuật toán, thuật toán học là một yếu tố. Nếu có các tập dữ liệu khác nhau, chúng cũng trở thành một yếu tố. Các mức độ của một yếu tố nên được lựa chọn cẩn thận để không bỏ qua một cấu hình tốt và tránh làm các thí nghiệm không cần thiết.

4.1. Xác định rõ Mục tiêu nghiên cứu và câu hỏi cần trả lời

Xác định rõ Mục tiêu nghiên cứu và câu hỏi cần trả lời là bước đầu tiên và quan trọng nhất trong Thiết Kế Thí Nghiệm Machine Learning. Mục tiêu nghiên cứu phải cụ thể, đo lường được, khả thi, có liên quan và có thời hạn (SMART). Câu hỏi cần trả lời nên được xây dựng dựa trên mục tiêu nghiên cứu và nên tập trung vào việc giải quyết một vấn đề cụ thể hoặc kiểm tra một giả thuyết cụ thể. Ví dụ, nếu mục tiêu nghiên cứu là cải thiện độ chính xác của một mô hình phân loại hình ảnh, câu hỏi cần trả lời có thể là: "Liệu việc sử dụng một kiến trúc mạng nơ-ron sâu hơn có cải thiện độ chính xác của mô hình phân loại hình ảnh hay không?" hoặc "Liệu việc sử dụng một phương pháp tăng cường dữ liệu cụ thể có cải thiện độ chính xác của mô hình phân loại hình ảnh hay không?". Việc xác định rõ Mục tiêu nghiên cứu và câu hỏi cần trả lời sẽ giúp bạn tập trung nỗ lực vào các khía cạnh quan trọng nhất của thí nghiệm và đảm bảo rằng các kết quả thu được có ý nghĩa và hữu ích.

"Chúng ta cần bắt đầu bằng việc nêu rõ vấn đề một cách rõ ràng, định nghĩa mục tiêu của nghiên cứu."

4.2. Lựa chọn Thiết Kế Thí Nghiệm và Độ đo hiệu suất phù hợp

Lựa chọn Thiết Kế Thí NghiệmĐộ đo hiệu suất phù hợp là rất quan trọng để đảm bảo rằng các kết quả thu được từ thí nghiệm là chính xác, đáng tin cậy và có thể được sử dụng để đưa ra các quyết định thông minh. Thiết Kế Thí Nghiệm nên được lựa chọn dựa trên mục tiêu nghiên cứu, số lượng yếu tố, số lượng mức, chi phí của thí nghiệm và sự phức tạp của mối quan hệ giữa các yếu tố và biến phản hồi. Độ đo hiệu suất nên được lựa chọn dựa trên sự hiểu biết sâu sắc về bài toán và các yêu cầu cụ thể của ứng dụng. Nó nên có các đặc điểm sau: có liên quan trực tiếp đến mục tiêu của thí nghiệm, có thể đo lường một cách chính xác và đáng tin cậy, nhạy cảm với các thay đổi trong các yếu tố đầu vào, và dễ dàng diễn giải và so sánh. Ví dụ, trong một bài toán phân loại, có thể sử dụng độ chính xác phân loại, độ chính xác, độ phủ hoặc F1-score. Trong một bài toán hồi quy, có thể sử dụng sai số bình phương trung bình, sai số tuyệt đối trung bình hoặc R-squared. Việc lựa chọn Thiết Kế Thí NghiệmĐộ đo hiệu suất phù hợp là một quá trình lặp đi lặp lại, và bạn có thể cần phải thử nghiệm với các lựa chọn khác nhau để tìm ra những lựa chọn tốt nhất cho thí nghiệm của bạn.

"Chúng ta cần quyết định về độ đo chất lượng mà chúng ta nên sử dụng. Thông thường, sai số được sử dụng, tức là sai số phân loại sai cho bài toán phân loại và sai số bình phương trung bình cho bài toán hồi quy."

V. Các Phương Pháp Cross Validation và Lấy Mẫu Lại Trong ML

Với mục đích nhân bản, điều cần thiết đầu tiên là có một số cặp tập huấn luyện và tập xác thực từ tập dữ liệu X (sau khi đã để lại một phần làm tập kiểm tra). Để làm điều này, nếu tập X đủ lớn, chúng ta có thể chia ngẫu nhiên thành K phần, sau đó chia ngẫu nhiên mỗi phần thành hai phần và sử dụng một nửa cho huấn luyện và nửa còn lại cho xác thực. K thường là 10 hoặc 30. Rất tiếc, tập dữ liệu không bao giờ đủ lớn để làm được điều này. Do đó, chúng ta nên làm tốt nhất với các tập dữ liệu nhỏ. Điều này được thực hiện bằng cách lặp lại việc sử dụng cùng một phân chia dữ liệu khác nhau; điều này được gọi là Cross-Validation.

Vấn đề là các phần trăm lỗi sẽ phụ thuộc vào nhau do các tập dữ liệu khác nhau chia sẻ dữ liệu. Vì vậy, với một tập dữ liệu X, chúng ta muốn tạo ra K cặp tập huấn luyện/xác thực, {Ti, Vi}Ki=1, từ tập dữ liệu này. Chúng ta muốn giữ các tập huấn luyện và xác thực càng lớn càng tốt để ước tính lỗi có độ tin cậy cao, và đồng thời, chúng ta muốn giữ sự trùng lặp giữa các tập khác nhau càng nhỏ càng tốt. Chúng ta cũng cần đảm bảo rằng các lớp được đại diện theo tỷ lệ phù hợp khi các tập con dữ liệu được giữ lại, để không làm thay đổi xác suất lớp trước đó; điều này được gọi là sự phân tầng.

5.1. Kỹ thuật K Fold Cross Validation và ứng dụng thực tế

Kỹ thuật K-Fold Cross-Validation là một phương pháp đánh giá mô hình Machine Learning phổ biến và hiệu quả, trong đó tập dữ liệu được chia ngẫu nhiên thành K phần bằng nhau. Sau đó, mô hình được huấn luyện K lần, mỗi lần sử dụng một trong K phần làm tập kiểm tra và các phần còn lại làm tập huấn luyện. Hiệu suất của mô hình được tính trung bình trên K lần huấn luyện để có được ước tính tổng quát hơn về hiệu suất thực tế của mô hình. Kỹ thuật K-Fold Cross-Validation có nhiều ứng dụng thực tế, chẳng hạn như lựa chọn mô hình, điều chỉnh siêu tham số và đánh giá hiệu suất của các mô hình khác nhau trên cùng một tập dữ liệu. Nó cũng có thể được sử dụng để phát hiện overfitting và underfitting. Một số biến thể của kỹ thuật K-Fold Cross-Validation bao gồm: stratified K-fold cross-validation (đảm bảo rằng mỗi phần có cùng tỷ lệ các lớp), leave-one-out cross-validation (sử dụng mỗi mẫu làm tập kiểm tra) và repeated K-fold cross-validation (lặp lại quá trình K-fold cross-validation nhiều lần). Việc lựa chọn kỹ thuật Cross-Validation phù hợp phụ thuộc vào kích thước của tập dữ liệu, sự phức tạp của mô hình và mục tiêu của thí nghiệm.

"Trong K-fold cross-validation, tập dữ liệu X được chia ngẫu nhiên thành K phần bằng nhau, gọi là Xi, i = 1,. Để tạo ra mỗi cặp dữ liệu, chúng ta giữ một trong K phần ra làm tập validation và kết hợp K - 1 phần còn lại để tạo thành tập training."

5.2. Phương pháp Bootstrapping và lợi ích trong Machine Learning

Phương pháp Bootstrapping là một kỹ thuật lấy mẫu lại mạnh mẽ có thể được sử dụng để ước tính các thống kê và phân phối của các mô hình Machine Learning. Trong phương pháp Bootstrapping, chúng ta tạo ra nhiều mẫu mới bằng cách lấy các trường hợp từ mẫu gốc với việc thay thế. Sau đó, chúng ta có thể sử dụng các mẫu mới này để huấn luyện các mô hình khác nhau hoặc để ước tính các thống kê như độ tin cậy, phương sai và khoảng tin cậy. Phương pháp Bootstrapping có nhiều lợi ích trong Machine Learning, chẳng hạn như: không yêu cầu giả định về phân phối của dữ liệu, có thể được sử dụng với các tập dữ liệu nhỏ, có thể được sử dụng để ước tính các thống kê phức tạp và có thể được sử dụng để cải thiện độ chính xác của các mô hình. Một số ứng dụng phổ biến của phương pháp Bootstrapping trong Machine Learning bao gồm: ước tính khoảng tin cậy cho các tham số mô hình, lựa chọn mô hình, đánh giá hiệu suất của các mô hình và cải thiện độ chính xác của các mô hình ensemble.

"Để tạo ra nhiều mẫu từ một mẫu duy nhất, một phương pháp thay thế cho cross-validation là bootstrap, nó tạo ra các mẫu mới bằng cách lấy các trường hợp từ mẫu gốc với việc thay thế."

VI. Đo Lường Đánh Giá Hiệu Suất Và Kiểm Định Giả Thuyết Machine Learning

Việc đo lường và đánh giá hiệu suất của mô hình là một bước quan trọng trong quy trình Machine Learning. Việc lựa chọn các độ đo hiệu suất phù hợp phụ thuộc vào loại bài toán và mục tiêu của ứng dụng. Ví dụ, trong một bài toán phân loại, chúng ta có thể sử dụng độ chính xác, độ chính xác, độ phủ, F1-score, AUC-ROC hoặc ma trận nhầm lẫn. Trong một bài toán hồi quy, chúng ta có thể sử dụng sai số bình phương trung bình, sai số tuyệt đối trung bình hoặc R-squared.

Sau khi đã đo lường hiệu suất của mô hình, chúng ta có thể sử dụng các kiểm định thống kê để kiểm tra các giả thuyết về hiệu suất của mô hình. Ví dụ, chúng ta có thể kiểm tra xem hiệu suất của mô hình có tốt hơn so với một mô hình cơ sở hay không, hoặc xem hiệu suất của hai mô hình có khác nhau đáng kể hay không. Các kiểm định thống kê giúp chúng ta đưa ra các kết luận khách quan và đáng tin cậy về hiệu suất của mô hình.

Trong kiểm định giả thuyết, chúng ta xác định một thống kê tuân theo phân phối nhất định nếu giả thuyết đúng. Nếu giá trị thống kê được tính từ mẫu có xác suất rất thấp để được lấy từ phân phối này, chúng ta sẽ từ chối giả thuyết; nếu không, chúng ta sẽ không từ chối giả thuyết.

6.1. Các Độ đo hiệu suất chính cho bài toán phân loại và hồi quy

Việc lựa chọn Độ đo hiệu suất phù hợp là rất quan trọng để đánh giá mô hình một cách chính xác và đảm bảo rằng mô hình đáp ứng được các yêu cầu của ứng dụng. Trong bài toán phân loại, các Độ đo hiệu suất phổ biến bao gồm: độ chính xác (tỷ lệ các dự đoán đúng), độ chính xác (tỷ lệ các dự đoán dương tính đúng), độ phủ (tỷ lệ các trường hợp dương tính được dự đoán đúng), F1-score (trung bình điều hòa của độ chính xác và độ phủ), AUC-ROC (diện tích dưới đường cong ROC) và ma trận nhầm lẫn (bảng hiển thị số lượng các dự đoán đúng và sai cho từng lớp). Trong bài toán hồi quy, các Độ đo hiệu suất phổ biến bao gồm: sai số bình phương trung bình (MSE), sai số tuyệt đối trung bình (MAE), R-squared (hệ số xác định) và sai số căn bậc hai của bình phương trung bình (RMSE). Việc lựa chọn Độ đo hiệu suất phù hợp phụ thuộc vào nhiều yếu tố, chẳng hạn như loại bài toán, sự phân bố của dữ liệu, chi phí của các lỗi khác nhau và mục tiêu của ứng dụng. Cần cân nhắc kỹ lưỡng các yếu tố này để đảm bảo rằng bạn đang sử dụng các Độ đo hiệu suất phù hợp để đánh giá mô hình của bạn.

"Trong một số bài toán hai lớp, chúng ta phân biệt giữa hai lớp và do đó hai loại lỗi, false positive (dương giả) và false negative (âm giả)."

6.2. Quy trình Kiểm Định Giả Thuyết trong Machine Learning và ý nghĩa

Quy trình Kiểm Định Giả Thuyết trong Machine Learning bao gồm các bước sau: xác định giả thuyết không (H0) và giả thuyết thay thế (H1), chọn mức ý nghĩa (alpha), tính toán thống kê kiểm định, xác định giá trị p và đưa ra quyết định. Giả thuyết không (H0) là một tuyên bố mà chúng ta muốn bác bỏ. Giả thuyết thay thế (H1) là một tuyên bố mà chúng ta muốn chứng minh. Mức ý nghĩa (alpha) là xác suất chấp nhận sai giả thuyết H0. Thống kê kiểm định là một giá trị được tính từ dữ liệu mẫu và được sử dụng để đánh giá tính hợp lệ của giả thuyết H0. Giá trị p là xác suất quan sát được kết quả thống kê kiểm định hoặc kết quả cực đoan hơn nếu giả thuyết H0 là đúng. Chúng ta bác bỏ giả thuyết H0 nếu giá trị p nhỏ hơn mức ý nghĩa alpha. Ý nghĩa của Kiểm Định Giả Thuyết trong Machine Learning là giúp chúng ta đưa ra các kết luận khách quan và đáng tin cậy về hiệu suất của mô hình. Nó cho phép chúng ta xác định xem sự khác biệt giữa các mô hình có ý nghĩa thống kê hay không, và giúp chúng ta đưa ra các quyết định thông minh dựa trên dữ liệu.

"Khi chúng ta đưa ra quyết định như vậy, chúng ta thực ra không nói rằng nó đúng hay sai mà là mẫu dữ liệu có vẻ nhất quán với nó với một mức độ tin cậy nhất định hoặc không."

15/09/2025

Trích đoạn nội dung tài liệu

lOMoARcPSD|39211872 TRƯỜNG ĐẠI HỌC KIẾN TRÚC HÀ NỘI KHOA CÔNG NGHỆ THÔNG TIN ĐỒ ÁN MÔN HỌC CHƯƠNG 19 Chuyên ngành: Công nghệ thông tin Giảng viên hướng dẫn: Sinh viên thực hiện: Trần Văn Trường Phạm Đức Trọng Vũ Nam Phương Lớp: 19CN4 Hà Nội, 05/2 Downloaded by mon hon (monmon1@gmail.com) lOMoARcPSD|39211872 Mục lục Chương 19: Thiết kế và phân tích thí nghiệm Máy học .2 Các yếu tố, Phản ứng và Chiến lược của Thí nghiệm. Thiết kế bề mặt phản hồi. Nguyên tắc cơ bản của thiết kế thí nghiệm (Ngẫu nhiên, lặp lại và chặn) .5 Hướng dẫn cho Thí nghiệm Học máy .6 Phương pháp Cross-Validation và Resampling .1 Phương pháp K-Fold Cross-Validation .7 Đo lường hiệu suất của bộ phân loại .9 Kiểm định giả thuyết.10 Đánh giá hiệu suất của thuật toán phân loại .1 Kiểm định nhị phân .2 Kiểm định xấp xỉ theo phân phối chuẩn .11 So sánh hai thuật toán phân loại .1 Thử nghiệm McNemar. Kiểm tra theo cặp .3 5 × 2 cv Ghép nối t thử nghiệm .4 Thử nghiệm F ghép nối 5 × 2 CV .12 So sánh nhiều thuật toán: Phân tích phương sai .13 So sánh trên nhiều bộ dữ liệu.1 So sánh hai thuật toánkiểm tra dấu hiệu .2 Nhiều thuật toán .14 Thử nghiệm đa biến.

41 Downloaded by mon hon (monmon1@gmail.1 So sánh hai thuật toán .2 So sánh nhiều thuật toán .17 Tài liệu tham khảo. 47 2 Downloaded by mon hon (monmon1@gmail.com) lOMoARcPSD|39211872 Chương 19: Thiết kế và phân tích thí nghiệm Máy học Chương này chúng ta sẽ thảo luận về việc thiết kế các thí nghiệm máy học để đánh giá và so sánh hiệu suất của các thuật toán học trong thực tế, cũng như các kiểm định thống kê để phân tích kết quả của những thí nghiệm này.1 Giới thiệu Trong các chương trước, chúng ta đã thảo luận về một số thuật toán học và thấy rằng, đối với một ứng dụng cụ thể, có nhiều thuật toán có thể áp dụng. Bây giờ, chúng ta quan tâm đến hai câu hỏi: 1. Làm thế nào chúng ta có thể đánh giá được lỗi dự kiến của một thuật toán học trên một vấn đề? Nghĩa là, ví dụ, sau khi sử dụng một thuật toán phân loại để huấn luyện một bộ phân loại trên một tập dữ liệu được rút ra từ một ứng dụng nào đó, chúng ta có thể khẳng định với đủ sự tự tin rằng khi nó được sử dụng trong thực tế, tỷ lệ lỗi dự kiến của nó sẽ nhỏ hơn, ví dụ như 2 phần trăm? 2.

Cho hai thuật toán học, làm thế nào chúng ta có thể khẳng định rằng một thuật toán có lỗi nhỏ hơn thuật toán khác đối với một ứng dụng cụ thể? Các thuật toán so sánh có thể khác nhau, ví dụ như đối với các thuật toán tham số hoặc không tham số, hoặc chúng có thể sử dụng các thiết lập siêu tham số khác nhau. Ví dụ, cho một perceptron đa tầng (chương 11) với bốn đơn vị ẩn và một perceptron khác với tám đơn vị ẩn, chúng ta muốn có thể nói rằng cái nào có lỗi dự kiến nhỏ hơn. Hoặc với bộ phân loại kế thừa gần nhất (chương 8), chúng ta muốn tìm giá trị tốt nhất của k. Chúng ta không thể nhìn vào lỗi huấn luyện và quyết định dựa trên những điều đó.

Tỷ lệ lỗi trên tập huấn luyện, theo định nghĩa, luôn nhỏ hơn tỷ lệ lỗi trên một tập thử nghiệm chứa các trường hợp chưa được nhìn thấy trong quá trình huấn luyện. Tương tự, lỗi huấn luyện không thể được sử dụng để so sánh hai thuật toán. Điều này bởi vì trên tập huấn luyện, mô hình phức tạp hơn với nhiều tham số hầu hết luôn cho ra ít lỗi hơn so với mô hình đơn giản. Như chúng ta đã thảo luận nhiều lần, chúng ta cần một tập xác thực khác với tập huấn luyện.

Ngay cả trên tập xác thực, một lần chạy có thể không đủ. Có hai lý do cho điều này: Thứ nhất, tập huấn luyện và xác thực có thể nhỏ và có thể chứa các trường hợp đặc biệt, như nhiễu và ngoại lệ, có thể đánh lừa chúng ta. Thứ hai, phương pháp học có thể phụ thuộc vào các yếu tố ngẫu nhiên khác ảnh hưởng đến tổng quát hóa. Ví dụ, với một perceptron đa tầng được huấn luyện bằng phương pháp lan truyền ngược, vì 3 Downloaded by mon hon (monmon1@gmail.com) lOMoARcPSD|39211872 gradient descent hội tụ đến điểm cực tiểu cục bộ gần nhất, các trọng số ban đầu ảnh hưởng đến trọng số cuối cùng, và với cùng một kiến trúc và tập huấn luyện cụ thể, bắt đầu từ các trọng số ban đầu khác nhau, có thể có nhiều bộ phân loại cuối cùng có tỷ lệ lỗi khác nhau trên cùng một tập xác thực.

Do đó, chúng ta muốn có nhiều lần chạy để lấy trung bình qua các nguồn ngẫu nhiên như vậy. Nếu chúng ta chỉ huấn luyện và xác thực một lần, chúng ta không thể kiểm tra tác động của những yếu tố như vậy; điều này chỉ được chấp nhận nếu phương pháp học quá tốn kém để chỉ được huấn luyện và xác thực một lần. Chúng ta sử dụng một thuật toán học trên một tập dữ liệu và tạo ra một bộ học. Nếu chúng ta huấn luyện chỉ một lần, chúng ta có một bộ học và một lỗi xác thực.

Để lấy trung bình qua sự ngẫu nhiên (trong dữ liệu huấn luyện, trọng số ban đầu, v.), chúng ta sử dụng cùng một thuật toán và tạo ra nhiều bộ học. Chúng ta kiểm tra chúng trên nhiều tập xác thực và ghi lại một mẫu của lỗi xác thực. (Tất nhiên, tất cả các tập huấn luyện và xác thực nên được lấy từ cùng một ứng dụng.) Chúng ta dựa trên phân phối này để đánh giá lỗi kỳ vọng của thuật toán học cho vấn đề đó, hoặc so sánh nó với phân phối tỷ lệ lỗi của một thuật toán học khác. Trước khi tiếp tục với cách thực hiện điều này, quan trọng để nhấn mạnh một số điểm: 1.

Chúng ta nên nhớ rằng bất kỳ kết luận nào chúng ta rút ra từ phân tích của mình đều được điều kiện bởi tập dữ liệu chúng ta được cung cấp. Chúng ta không so sánh các thuật toán học theo một cách độc lập với miền, mà chỉ trong một ứng dụng cụ thể. Chúng ta không nói gì về lỗi kỳ vọng của một thuật toán học, hoặc so sánh một thuật toán học với thuật toán học khác, nói chung. Bất kỳ kết quả nào chúng ta có chỉ đúng cho ứng dụng cụ thể đó, và chỉ trong phạm vi ứng dụng đó được đại diện trong mẫu chúng ta có.

Và dù sao, như được nêu trong Định lý No Free Lunch (Wolpert 1995), không có gì như "thuật toán học tốt nhất". Đối với bất kỳ thuật toán học nào, đều có một tập dữ liệu nơi nó rất chính xác và một tập dữ liệu khác nơi nó rất kém. Khi chúng ta nói rằng một thuật toán học là tốt, chúng ta chỉ định rõ mức độ phù hợp về mặt khái niệm của nó so với các thuộc tính của dữ liệu. Việc chia một tập dữ liệu đã cho thành một số cặp tập huấn luyện và xác thực chỉ để kiểm tra mục đích.

Khi tất cả các kiểm tra hoàn thành và chúng ta đã chọn thuật toán học tốt nhất cho ứng dụng cụ thể, chúng ta muốn huấn luyện nó bằng toàn bộ dữ liệu đã cho. Điều này chúng ta có thể làm đơn giản bằng cách gộp các tập huấn luyện và xác thực và sử dụng cùng một thuật toán học. 4 Downloaded by mon hon (monmon1@gmail. Vì chúng ta cũng sử dụng tập xác thực để kiểm tra mục đích, ví dụ như để chọn ra thuật toán học tốt hơn trong hai thuật toán, hoặc để quyết định nơi để dừng quá trình học, nó hiệu quả trở thành một phần của dữ liệu chúng ta sử dụng.

Khi sau tất cả các kiểm tra đó, chúng ta quyết định về một thuật toán cụ thể và muốn báo cáo lỗi kỳ vọng của nó, chúng ta nên sử dụng một tập dữ liệu kiểm tra riêng biệt cho mục đích này, không được sử dụng trong quá trình huấn luyện hệ thống cuối cùng này. Dữ liệu này không nên được sử dụng trước đó để huấn luyện hoặc xác thực và nên có kích thước lớn để ước lượng lỗi có ý nghĩa. Vì vậy, khi có một tập dữ liệu, chúng ta nên lấy một phần như là tập kiểm tra và sử dụng phần còn lại cho huấn luyện và xác thực. Thông thường, chúng ta có thể để một phần ba của mẫu là tập kiểm tra, sau đó sử dụng hai phần ba còn lại cho kiểm tra chéo để tạo ra nhiều cặp tập huấn luyện/xác thực, như chúng ta sẽ thấy sau đây.

Vì vậy, tập huấn luyện được sử dụng để tối ưu hóa các tham số, với một thuật toán học và cấu trúc mô hình cụ thể; tập xác thực được sử dụng để tối ưu hóa siêu tham số của thuật toán học hoặc cấu trúc mô hình; và tập kiểm tra được sử dụng ở cuối, sau khi cả hai đã được tối ưu hóa. Ví dụ, với MLP, tập huấn luyện được sử dụng để tối ưu hóa các trọng số, tập xác thực được sử dụng để quyết định số đơn vị ẩn, thời gian huấn luyện, tỷ lệ học, và v. Sau khi đã chọn cấu hình MLP tốt nhất, lỗi cuối cùng được tính trên tập kiểm tra. Với k-NN, tập huấn luyện được lưu trữ như bảng tra cứu; chúng ta tối ưu hóa phép đo khoảng cách và k trên tập xác thực và cuối cùng kiểm tra trên tập kiểm tra.

Nói chung, chúng ta so sánh các thuật toán học dựa trên tỷ lệ lỗi của chúng, nhưng cần lưu ý rằng trong thực tế, lỗi chỉ là một trong các tiêu chí ảnh hưởng đến quyết định của chúng ta. Một số tiêu chí khác bao gồm (Turney 2000): • Rủi ro khi lỗi được tổng quát hóa bằng các hàm mất mát, thay vì sử dụng hàm mất mát 0/1 (phần 3. • Thời gian huấn luyện và độ phức tạp không gian. • Thời gian kiểm tra và độ phức tạp không gian.

• Khả năng giải thích, tức là phương pháp cho phép rút trích kiến thức có thể được kiểm tra và xác nhận bởi các chuyên gia. • Khả năng lập trình dễ dàng. Tầm quan trọng tương đối của những yếu tố này thay đổi tùy thuộc vào ứng dụng cụ thể. Ví dụ, nếu việc huấn luyện chỉ được thực hiện một lần tại nhà máy, thì thời gian huấn luyện và độ phức tạp không gian không quan trọng; nếu yêu 5 Downloaded by mon hon (monmon1@gmail.com) lOMoARcPSD|39211872 cầu tính linh hoạt trong quá trình sử dụng, thì chúng trở nên quan trọng.

Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ