Sai số tổng quát hoá của một mô hình học máy sẽ được dự đoán bằng cách đo lường hiệu năng trên tập kiểm thử với các điểm dữ liệu riêng biệt trích xuất từ tập huấn luyện.. Ta đề xuất một
Trang 1Mục lục
Phân loại các dữ liệu bị thiếu (Classification with missing inputs) 5
Đầu ra có cấu trúc (Structured Output) 7
Ước lượng mật độ hay ước lượng hàm khối của xác suất 8
5.2 Dung lượng (capacity), overfitting, underfitting 16
5.2.1 Không có bữa trưa nào miễn phí (no free lunch theorem) 24
5.4.4 Đánh đổi giữa độ chệch và phương sai để cực tiểu hóa trung
5.5 Ước lượng hợp lý cực đại (Maximum Likelihood Estimation) 38
5.5.1 Logarit hợp lý có điều kiện và sai số bình phương trung bình 40
Trang 25.5.2 Các tính chất của phương pháp hợp lý cực đại 41
5.6.1 Ước lượng hậu nghiệm cực đại (MAP) 45
5.7.1 Học có giám sát dựa trên xác suất 47
5.7.3 Các thuật toán học có giám sát đơn giản khác 50
5.11 Những thách thức thúc đẩy sự phát triển của học sâu 59
5.11.2 Tính bất biến cục bộ và cơ chế kiểm soát độ trơn 61
Trang 3Deep Learning
Tác giả: Ian Goodfellow, Yoshua Bengio và Aaron Courville
Chương 5: Cơ sở học máy
Mở đầu
Học sâu là một dạng đặc biệt của học máy Để hiểu được một cách tường minh
về học sâu, chúng ta cần hiểu rõ các khái niệm cơ bản về học máy Với nhữngngười mới bắt đầu tìm hiểu về học máy, chúng tôi khuyến khích nên học quakhóa CS229 của Stanford để có một mức độ bao phủ kiến thức một cách toàndiện hơn Nếu ai đã quen với các khái niệm học máy cơ bản thì có thể chuyển
ngay đến phần 5.11, ở đó ta sẽ trình bày các khía cạnh và các kỹ thuật truyền
thống giúp cho học máy phát triển mạnh mẽ như ngày hôm nay, kéo theo đó là
sự thúc đẩy phát triển của học sâu
Đầu tiên, chúng ta đi vào khái niệm về thế nào là một thuật toán “học” (learningalgorithm) và một ví dụ kinh điển về nó: hồi quy tuyến tính (linear regression) Sau đó, chúng tôi sẽ mô tả các thách thức làm thế nào để sinh mô hình khớp với
dữ liệu huấn luyện, có gì khác biệt khi mô hình tiếp xúc với các dữ liệu mới Hầu hết các thuật toán đều có các thiết lập ban đầu là siêu tham số
(hyperparameters) mà ta phải xác định bên ngoài thuật toán học, ví dụ với thuật toán KNN ta cần xác định được giá trị của tham số “k” ngay từ khi bắt đầu Vạn
sự khởi đầu nan, việc xác định tốt được hyperparameter sẽ giúp cho mô hình cuối cùng có độ chính xác cao hơn Về cơ bản, học máy là một hình thái của việc ứng dụng lĩnh vực thống kê học, một lĩnh vực hướng đến việc sử dụng các thiết bị tính toán để ước lượng các hàm phức tạp, giảm trọng tâm vào việc chứng minh khoảng tin cậy quanh các hàm này Do đó, chúng ta sẽ đi vào 2 phương pháp tiếp cận trọng tâm của thống kê: Ước lượng tần suất (frequentist estimators) và suy diễn Bayes (Bayesian Inference)
Các thuật toán học máy có thể được phân ra thành học có giám sát (supervisedlearning), học không giám sát (unsupervised learning) và học bán giám sát(semi-supervised learning) Chúng tôi sẽ đi vào mô tả về ba cách học này vàđưa ra ví dụ đơn giản cho từng loại Hầu hết các thuật toán học sâu đều dựa trên
kỹ thuật tối ưu stochastic gradient descent Ngoài ra chúng tôi cũng sẽ tập trung
mô tả sự kết hợp giữa các thuật toán tối ưu, hàm mất mát, mô hình (model) và
Trang 4tập dữ liệu (dataset) để có thể tạo ra một thuật toán học máy Cuối cùng, trong
phần 5.11, chúng tôi mô tả một số hạn chế của các thuật toán học máy cổ điển
trong việc khái quát hóa theo dữ liệu, đồng thời chính là các động lực thúc đẩycác thuật toán học sâu phát triển để vượt qua các giới hạn này
5.1 Các thuật toán học
Một thuật toán học máy là thuật toán mà có khả năng học từ dữ liệu Nhưng rốtcục ở đây thuật toán học cái gì từ dữ liệu? Vào năm 1997, Mitchell đưa ra mộtđịnh nghĩa ngắn gọn rằng: "Một chương trình máy tính được cho là học hỏi từkinh nghiệm E (experience) đối với một tập tác vụ T (task) và phương pháp đolường hiệu năng P (performance), nếu hiệu năng của nó khi thực hiện tác vụ T,được đo bằng phương pháp P, được cải thiện với kinh nghiệm được rút ra từ E”
Có rất nhiều cách để hiểu về kinh nghiệm E, tác vụ T và phương pháp đo lườnghiệu năng P Trong khuôn khổ bài viết này, chúng tôi sẽ đưa ra khái niệm và các
mô tả trực quan nhất giúp người đọc dễ tiếp cận hơn
5.1.1 Tác vụ T
Học máy cho phép chương trình máy tính có thể học từ dữ liệu, từ đó có thểthực hiên được các tác vụ phức tạp mà con người khó lòng có thể lập trình thủcông được Tuy nhiên để làm được điều đó, chúng ta cần có những hiểu biết cơbản về cách mà con người học, về trí thông minh của con người
Quá trình tự học không được coi là một tác vụ, học chỉ là phương tiện để chúng
ta đạt được tác vụ đó Chẳng hạn muốn một robot có thể đi bộ, chúng ta có haichiến thuật để tiếp cận vấn đề Đầu tiên, chúng ta có thể lập trình để robot họccác di chuyển, cách thứ hai là chúng ta có thể viết thủ công ra một chương trìnhđặc tả cách di chuyển cho robot Ưu điểm của cách đầu tiên là robot có thể biết
đi rất nhanh, nhưng sau đó sẽ mãi mãi không có sự cải thiện về khả năng dichuyển, trừ khi chúng ta lại tự đặc tả một thuật toán khác giúp robot di chuyểnhiệu quả hơn
Các tác vụ trong học máy thường được mô tả là quá trình hệ thống học máy xử
lý một mẫu dữ liệu Trong đó các mẫu dữ liệu đã cho là một tập các đặc trưngđược trích từ tập các dữ liệu đã cho, chúng thường được biểu diễn bởi cácvector có dạng X(x1,x2, xn)∈Rn trong đó mỗi chiều dữ liệu xi đại diện cho mộtđặc trưng nào đó của dữ liệu Ví dụ đối với dữ liệu ảnh, ta có thể coi mỗi pixel
là một đặc trưng, ngoài ra còn có một số đặc trưng nâng cao khác được áp dụngtrong thực tế như HOG, Haar-like,… Hiện nay với sự phát triển của NeuralNetwork thì việc áp dụng các mạng như CNN và các biến thể đem lại hiệu quảrất cao đối với việc trích chọn đặc trưng trong dữ liệu ảnh
Trang 5Có rất nhiều các bài toán có thể giải quyết được bằng học máy Trong đó các tác
vụ phổ biến nhất bao gồm:
Phân loại (Classification)
Trong tác vụ này, với mỗi dữ liệu đầu vào, máy tính có nhiệm vụ xác định xem
dữ liệu đó thuộc vào nhóm nào trong k nhóm cho trước Cụ thể chúng ta sẽ tạo
ra một hàm ánh xạ f: Rn → {1, 2,…,k} Với y=f(x), x là một vector với các
đặc tả đầu vào cho trước ứng với các giá trị đặc trưng được quy định từ đầu
Đầu ra y sẽ cho biết được phần tử dữ liệu x thuộc nhóm nào Ngoài ra bài toán phân loại còn có các biến thể khác, chẳng hạn đầu ra của f(x) sẽ là xác suất để phần tử x rơi vào lớp k cho trước
Một ví dụ về bài toán nhận dạng đó là phân loại đối tượng mà đầu vào là mộtảnh (thường được mô tả bởi một tập các giá trị biểu diễn cho cường độ của cácpixel, với mỗi loại ảnh sẽ có cách đặc tả khác nhau, ví dụ như RGB, YUV,…Chẳng hạn robot Willow Garage PR2 có khả năng nhận diện ra các đồ uốngkhác nhau như con người, sau đó có thể mang chính xác loại đồ uống được yêucầu ra để phục vụ khách hàng (Good-fellow et al., 2010) Mô hình nhận diện vậtthể hiện đại và cho ra hiệu năng cao nhất thời điểm hiện tại sử dụng các thuậttoán học sâu (Krizhevsky et al., 2012; Ioffe and Szegedy, 2015) Bài toán nhậndiện đối tượng cơ bản là bài toán nhận diện khuôn mặt có thể gắn nhãn cho cácảnh trong bộ dữ liệu huẩn luyện để tạo ra mô hình, sau đó sẽ dùng mô hình đểphân loại khuôn mặt
Phân loại các dữ liệu bị thiếu (Classification with missing inputs)
Bài toán phân loại sẽ trở nên khó khăn hơn nếu các giá trị đầu vào bị thiếu Trênthực tế, việc này xảy ra thường xuyên do không phải lúc nào các đặc trưng cũngthuận tiện cho việc trích xuất Tiêu biểu trong lĩnh vực y tế, có rất nhiều các xétnghiệm cực kì tốn kém để có thể thực hiện Lúc này thay vì chỉ cần xác địnhmột hàm ánh xạ duy nhất như ban đầu với giả thiết tất cả các đặc trưng đều đầy
đủ, ta cần xác định một tập các hàm cho tất cả các trường hợp giá trị bị thiếu.Trên lý thuyết với dữ liệu có n đặc trưng thì ta cần tạo nên 2n hàm để có thểphân loại, nhưng chương trình máy tính chỉ cần học một hàm duy nhất mô tảphân phối xác suất chung Chương trình học một phân phối xác suất trên cácbiến có liên quan, sau đó giải quyết tác vụ phân loại bằng cách lấy xác suất biêntrên tất cả các biến bị thiếu Mô hình của Good-fellow và các cộng sự (2013b) làmột ví dụ của mô hình xác suất sâu được áp dụng cho các tác vụ theo nguyên lítương tự như vậy Nhiều tác vụ khác trong phần này cũng có thể dùng để làmviệc với dữ liệu bị thiếu, phân loại với đầu vào bị thiếu chỉ là một trong nhữngkhả năng mà học máy mang lại
Trang 6Hồi quy (Regression)
Trong loại tác vụ này, chương trình máy tính yêu cầu với mỗi đầu vào cho trướcchúng ta cần dự đoán một giá trị tương ứng Ví dụ với đầu vào là các thông sốcủa ngôi nhà như diện tích, số phòng ngủ, số tầng,… thì đầu ra cần dự đoán giácủa ngôi nhà đó Để thực hiện tác vụ này, hệ thống cần tạo ra một hàm f ánh xạ
Rn→R Kiểu tác vụ tương tự với phân loại, chỉ khác nhau ở đầu ra Trong thực
tế với bài toán phân loại mà số lớp định trước là vô cùng thì nó sẽ trở thành bàitoán hồi quy Chúng ta hoàn toàn có thể áp dụng để giải quyết bài toán dự đoán
số tiền bảo hiểm mà một người có thể được nhận, từ đó tính toán được mức muabảo hiểm phù hợp, hoặc trong các bài toán dự đoán giá của chứng khoán, cổphiếu,… Loại dự đoán này thường được dùng cho các thuật toán giao giao dịch
Phiên mã (Transcription)
Trong loại tác vụ này, hệ thống học máy yêu cầu được quan sát các biểu diễn liên quan phi cấu trúc của một số kiểu dữ liệu rồi chuyển đổi chúng thành dạng rời rạc hoặc dạng văn bản
Ví dụ trong nhận dạng ký tự quang học (Optical Character Recognition - OCR), chương trình máy tính hiển thị một bức ảnh chứa văn bản và yêu cầu trả về văn bản với các ký tự theo đúng thứ tự (ví dụ là ASCII hoặc định dạng Unicode) Google Street View sử dụng học sâu để giải quyết vấn đề đánh số địa chỉ theo cách này (Good-fellow và các cộng sự, 2014d) Một ví dụ khác có thể kể đến là nhận dạng tiếng nói - chương trình máy tính nhận sóng âm thanh là đầu vào và trả về thứ tự từ hoặc định danh của các từ được nói trong bản ghi âm Học sâu làcông cụ chính trong lĩnh vực nhận diện tiếng nói , được sử dụng rộng rãi ở các tập đoàn lớn hiện tại như Microsoft, IBM và Google (Hinton và các cộng sự, 2012d)
Dịch máy (Machine Translation)
Trong tác vụ dịch máy, đầu vào hầu hết là chuỗi kí tự tuần tự bằng một ngôn ngữ nào đó, chương trình máy tính phải chuyển đổi chúng về một ngôn ngữ khác Tác vụ này thường được sử dụng cho các ngôn ngữ tự nhiên, ví dụ dịch từtiếng anh sang tiếng Pháp Trong thời gian gần đây, học sâu đã có những tác động mạnh mẽ đối với chất lượng của dịch máy, giúp cải thiện rõ rệt chất lượng dịch (Sutskever và các cộng sự., 2014; Bahdanau và các cộng sự, 2015)
Đầu ra có cấu trúc (Structured Output)
Bao gồm tất cả các tác vụ mà đầu ra là vector hoặc cấu trúc dữ liệu khác chứa nhiều giá trị với mối liên hệ chặt chẽ giữa các phần tử Đây là một nhóm tác vụ khá rộng, bao gồm một phần của nhóm phiên mã và dịch máy nói trên và còn nhiều tác vụ khác Một ví dụ là ánh xạ - chuyển đổi các câu trong ngôn ngữ tự nhiên về dạng cây có khả năng mô tả cấu trúc ngữ pháp bằng cách gán nhãn các
Trang 7node của cây bằng các động từ, danh từ hoặc trạng từ, vân vân… Tham khảo Collobert (2011) để thấy ví dụ về việc áp dụng học sâu vào một tác vụ chuyển đổi Một ví dụ khác là phân vùng ảnh dựa trên pixel, trong đó máy tính gán mỗi pixel của ảnh vào một nhóm cụ thể
Ví dụ học sâu có thể được sử dụng để chú thích vị trí các con đường thông qua ảnh địa không gian (Mnih and Hinton, 2010) Kết quả đầu ra không cần thiết phải phản ánh lại kết quả đầu vào với độ chính xác cao ở các tác vụ kiểu ký hiệunày Ví dụ trong việc đặt tiêu đề cho ảnh, chương trình máy tính quan sát ảnh vàxuất ra một đoạn văn bản theo ngôn ngữ tự nhiên mô tả lại nội dung bức ảnh đó.Tác vụ này được gọi là tác vụ đầu ra có cấu trúc bởi chương trình cần trả về nhiều giá trị có mối liên kết với nhau (trong ví dụ trên, mối liên kết giữa các phần tử trong đầu ra là mối liên kết giữa các từ theo cấu trúc ngữ pháp để tạo được ra một câu hợp lệ)
có thể ngay lập tức vô hiệu hóa thẻ của bạn trước khi kẻ gian kịp thực hiện các giao dịch bất thường Tham khảo Chandola và các đồng sự (2009) để có thể nắm được thêm về phương thức phát hiện bất thường
Tổng hợp và lấy mẫu
Trong tác vụ này, thuật toán Machine Learning yêu cầu tạo ra các mẫu dữ liệu mới tương tự với các mẫu dữ liệu trong tập huấn luyện Tổng hợp và lấy mẫu thông qua học máy có khả năng hữu dụng với các ứng dụng truyền thông bởi việc tạo ra một khối lượng lớn nội dung bằng tay có thể gây ra sự tốn kém hoặc nhàm chán, tiêu tốn nhiều thời gian
Ví dụ, trò chơi điện tử có thể tạo ra các chi tiết cho các đối tượng, vật thể kích thước lớn một cách tự động thay vì yêu cầu họa sĩ phải phác thảo chi tiết bằng tay từng pixel một (Luo và các cộng sự, 2013) Trong một số trường hợp, chúng
ta cần phương pháp lấy mẫu hoặc tổng hợp để sinh ra kiểu đầu ra cụ thể cho đầuvào Chẳng hạn với tác vụ tổng hợp giọng nói, chúng ta cung cấp một câu dạng
Trang 8văn bản và yêu cầu chương trình phát ra một dạng sóng âm thanh chứa nội dung
ở dạng tiếng nói Đây là một dạng đầu ra có cấu trúc, nhưng với việc làm tăng chất lượng thì chúng ta không đảm bảo được tính chất một đầu ra sẽ tương ứng với một đầu vào duy nhất Hiển nhiên chúng ta cần một lượng lớn đầu ra phong phú để đầu ra có vẻ tự nhiên và chân thực hơn
Đầu vào bị thiếu giá trị
Trong tác vụ này, thuật toán học máy được cho trước đầu vào là vector x ∈Rn
nhưng bị thiếu mất giá trị của một số thuộc tính xi nào đó Việc chương trình cần làm là tìm cách điền các giá trị còn thiếu đó
Khử nhiễu
Trong tác vụ này, thuật toán học máy được cho đầu vào là các dữ liệu nhiễu bên cạnh các dữ liệu sạch Thuật toán cần dự đoán được các mẫu dữ liệu sạch từphiên bản nhiễu của nó, hoặc tổng quát hơn sẽ là dự đoán phân phối xác suất có điều kiện của dữ liệu sạch khi biết dữ liệu nhiễu
Ước lượng mật độ hay ước lượng hàm khối của xác suất
Trong vấn đề ước lượng mật độ, thuật toán Machine Learning yêu cầu xác định
một hàm p model : Rn →R, trong đó p model(x) có thể xem là hàm mật độ xác suất (đối với x liên tục) hoặc hàm khối xác suất (đối với x rời rạc) từ không gian lấy
mẫu Để giải quyết tốt được tác vụ này (sẽ được làm rõ trong phần định nghĩa khái niệm về độ đo hiệu suất P), thuật toán cần học từ dữ liệu mà nó đã quan sát Nó cần biết được ở đâu các điểm dữ liệu co cụm với nhau và ở đâu thì điểm
dữ liệu ít có khả năng xuất hiện Đa số các tác vụ ở trên đều yêu cầu thuật toán học phải biết được cấu trúc tổng quan về phân phối xác suất Về nguyên tắc thì chúng ta có thể thực hiện tính toán trên phân phối này để giải quyết các tác vụ khác được tốt hơn
Ví dụ nếu chúng ta thực hiện ước lượng mật độ và thu về được một phân phối
xác suất p(x), chúng ta có thể dùng phân phối này để giải quyết vấn đề đầu vào
với dữ liệu bị thiếu nêu trên nếu chiều dữ liệu xi bị thiếu và được cho các chiều
dữ liệu x-i khác, kèm theo chúng ta biết được phân phối xác suất của xi khi biết
các yếu tố x-i còn lại, ta hoàn toàn có thể dự đoán ra được xi Trên thực tế, ước lượng mật độ không phải lúc nào cũng cho phép chúng ta giải quyết được tất cả các tác vụ nêu trên do trong nhiều trường hợp, các phép toán sử dụng phương thức này cực kì vất vả về mặt tính toán
Trang 9Dĩ nhiên học máy còn có khả năng làm nhiều hơn thế Các tác vụ kể trên không nhằm định nghĩa một cách cứng nhắc về học máy mà chỉ đơn giản là để minh họa một số tiềm năng học máy có thể làm được.
5.1.2 Độ đo hiệu suất P
Để đánh giá khả năng của một thuật toán học máy, chúng ta cần xây dựng một phương pháp đo đạc, đánh giá hiệu năng của một thuật toán Thông thường độ
đo hiệu suất P này được dùng một cách chuyên biệt đối với tác vụ T và được thực hiện trong chính hệ thống
Đối với các tác vụ kiểu phân loại, phân loại với đầu vào thiếu hay phiên mã,
chúng ta thường đo độ chính xác (accuracy) của mô hình Độ chính xác là phần
dữ liệu mà mô hình do thuật toán sinh ra dự đoán chính xác đầu ra Chúng ta
cũng có thể đạt được kết quả tương tự đối với việc đo tỷ lệ lỗi (error rate) - phần
dữ liệu mà mô hình đã dự đoán sai Chúng ta thường coi tỷ lệ lỗi là tỷ lệ mất mát 0-1 Tỷ lệ mất mát 0-1 (0-1 loss) được tính bằng 0 nếu mẫu được phân loại chính xác và bằng 1 trong trường hợp ngược lại
Thông thường chúng ta sẽ quan tâm đến việc thuật toán machine learning hoạt động tốt với các dữ liệu chưa thấy bao giờ hay không, do nó ảnh hưởng trực tiếpkhi mô hình sau này lúc triển khai trong thực tế Do đó, chúng ta đánh giá hiệu năng dựa trên tập kiểm thử Tập kiểm thử phải hoàn toàn tách biệt với tập huấn luyện
Việc đánh giá một hệ thống khá khó để nói rằng nó có đáng tin cậy hay không,
do không có một tiêu chuẩn cụ thể nào đúng với mọi trường hợp Chúng ta chỉ
có được đáp án khi nhận được phản hồi từ phía khách hàng sau khi triển khai dự
án vào thực tế
Trong một số trường hợp, chúng ta sẽ gặp nhiều khó khăn khi quyết định chọn
độ đo Ví dụ khi cần thực hiện tác vụ phiên mã, liệu chúng ta có nên sử dụng độchính xác để đánh giá mô hình? Hoặc khi mô hình thực hiện tác vụ hồi quy, liệurằng chúng ta nên đánh giá một mô hình kém khi nó cho sai số ít nhưng thường xuyên hay ít khi sai số nhưng một khi đã sai thì rất nhiều? Cách chọn sẽ phụ thuộc vào hoàn cảnh và ứng dụng mà bạn muốn triển khai
Trang 10Trong nhiều trường hợp khác, chúng ta biết cần làm gì để đo chính xác nhưng việc đo không phải lúc nào cũng khả thi Điều này thường xuyên xuất hiện trongcác bài toán ước lượng mật độ Nhiều mô hình phân phối xác suất hiện nay chỉ
có thể biểu diễn phân phối xác suất một cách ngầm định Tính toán giá trị xác suất thực tế gắn liền với một điểm cụ thể trên không gian với những mô hình này không khả thi về mặt tính toán Trong trường hợp này, cần thiết kế ra một giải pháp thay thế có khả năng thực hiện những tác vụ tương đương với mục tiêu đề ra ban đầu
5.1.3 Kinh nghiệm E
Học máy có thể được chia một cách trực quan thành 2 loại là học có giám sát vàhọc không giám sát loại kinh nghiệm áp dụng xuyên suốt quá trình học
Hầu hết các thuật toán học máy trong cuốn sách này cho phép lấy kinh nghiệm
từ toàn bộ tập dữ liệu Tập dữ liệu là một tập gồm nhiều các ví dụ, đôi khi còn được gọi là các điểm dữ liệu
Một trong các bộ dữ liệu kinh điển của các nhà thống kê học là Iris Đây là một tập gồm 150 cây hoa Mỗi phần tử của tập tương ứng với một cây Mỗi giá trị của các chiều ứng với các đặc trưng của hoa: độ dài hoa, độ rộng của đài hoa,
độ rộng của cánh hoa Tập dữ liệu cũng chỉ ra loài mà loại hoa đó thuộc về Có
3 loại hoa được phân nhóm trong kiểu dữ liệu
Học không có giám sát: Kinh nghiệm của tập dữ liệu chứa nhiều loại đặc trưng khác nhau do đó cần học ra đặc trưng hữu ích từ tập dữ liệu này Nói về học sâu, chúng ta thường muốn học toàn bộ phân phối xác suất được dùng để tạo ra được tập dữ liệu có thể quy định như ước lượng mật độ hoặc ngầm định như trong các tác vụ khử nhiễu ảnh Ngoài ra một số thuật toán học không giám sát như phân cụm giúp việc phân chia tập dữ liệu đó thành các cụm chứa các mẫu tương đồng lớn với nhau
Các thuật toán học có giám sát: Trải nghiệm tập dữ liệu chứa nhiều đặc trưng,
và mỗi mẫu dữ liệu gắn liền 1 nhãn hay một mục tiêu nào đó Ví dụ bộ dữ liệu Iris chú thích loài mà từng cây hoa thuộc về Một thuật toán học có giám sát có thể dựa vào các dữ liệu đầu vào và nhãn của các cây hoa này để phân loại tập Iris thành 3 loại hoa khác nhau
Trang 11Nói một cách nôm na, học không có giám sát gắn liền với việc quan sát một lượng mẫu từ vector x, rồi bằng một cách trực tiếp hoặc gián tiếp học hàm phân phối xác suất p(x) hoặc một số đặc tính hữu ích của phân phối đó Trong khi đóhọc có giám sát gắn liền với việc quan sát một điểm dữ liệu x (thường là một vector) và gắn liền với nó là một giá trị hoặc một vector y, thường thông qua
ước lượng xác suất p(y|x) Thuật ngữ học có giám sát bắt nguồn từ mục tiêu y
cho trước bởi người giám sát để chỉ cho hệ thống học máy cần biết phải làm gì Trong học không giám sát, không hề có người hướng dẫn hay giáo viên Thuật toán cần tự học các thông tin có giá trị từ dữ liệu mà không hề có bất kì nhãn nào cho các điểm dữ liệu cả
Học có giám sát và học không giám sát không phải là những khái niệm được định nghĩa một cách chuẩn tắc Ranh giới giữa hai loại này khá mờ nhạt Rất nhiều kĩ thuật học máy được đề xuất có thể thực hiện đồng thời cả hai nhiệm vụ
nêu trên Ví dụ, luật xích trong xác suất chỉ ra rằng với một vector x có n chiều,
xác suất hợp có thể phân tích thành:
Sự phân chia này cho thấy chúng ta có thể giải quyết các bài toán học không giám sát của mô hình p(x) bằng cách chia nhỏ nó ra thành n bài toán học có
giám sát Khi đó, chúng ta sẽ giải bài toán học có giám sát p(y|x) bằng phương
pháp học không giám sát cổ điển để học được xác suất hợp p(x,y) và suy ra được:
Do đó, học có dám sát hay không giám sát không phải là những khái niệm rõ ràng và tồn tại duy nhất Chúng chỉ giúp chúng ta có thêm những sự phân chia tương đối về các thuật toán máy học Thông thường, người ta quan niệm hồi quy, phân loại và các bài toán đầu ra có cấu trúc là học có giám sát Ước lượng mật độ trong việc hỗ trợ các tác vụ khác thường được xếp vào loại học không cógiám sát
Ngoài ra chúng ta có thể ứng dụng nhiều kỹ thuật học khác nữa Ví dụ học bán giám sát, một số dữ liệu có nhãn nhưng một số khác lại không có Một số ví dụ gần đây về sự đa dạng trong tập dữ liệu có thể tham khảo bài báo của Kotzias et
al (2015)
Trang 12Một số thuật toán học máy không chỉ làm việc với tập dữ liệu xác định từ trước.
Ví dụ, học tăng cường tương tác với môi trường, sau đó sẽ lấy kinh nghiệm dựa trên các phản hồi từ môi trường dựa trên các hành động mà hệ thống học đã thực hiện Tuy nhiên các thuật toán kiểu này vượt qua khuôn khổ của cuốn sách
Vì vậy nếu bạn có thể tìm đọc tham khảo Sutton and Barton (1998) hoặc
Bertsekas and Tsitsiklis (1996) để tìm thêm thông tin về học tăng cường, và Mnih et al (2013) để hiểu hơn về học sâu ứng dụng cho học tăng cường
Đa số thuật toán học máy đều học từ tập dữ liệu huấn luyện Tập này có thể thể hiện theo nhiều cách khác nhau Trong cuốn sách này chúng ta hiểu nó là một tập ví dụ, hay nói đúng hơn là một tập hợp các đặc trưng
Một cách khá phổ biến để biểu diễn tập dữ liệu là thiết kế ma trận Một ma trận thiết kế là ma trận chứa nhiều điểm dữ liệu và mỗi điểm dữ liệu thì tương ứng với một dòng, mỗi cột của ma trận tương ứng với một đặc trưng của dữ liệu Ví
dụ, bộ dữ liệu Iris chứa 150 điểm dữ liệu và 4 đặc trưng với từng điểm Điều đó nghĩa là chúng ta có thể biểu diễn được nó với một ma trận thiết kế X ∈ R150x4 ,
Xi,1 ứng với chiều dài của cây i, Xi,2 ứng với chiều rộng của cây i,… Chúng ta thể hiện đa số các thuật toán trong cuốn sách này dựa trên ma trận thiết kế.Tất nhiên để biểu diễn dữ liệu dưới dạng ma trận thiết kế, chúng ta cần biểu diễn mỗi điểm dữ liệu như là một vector Điều này không phải lúc nào cũng khảthi Ví dụ khi bạn có một bộ ảnh có kích thước khác nhau, khi đó mỗi ảnh có một lượng pixel khác nhau nên không phải 2 ảnh bất kì đều có thể biểu diễn bằng những vector có chiều dài bằng nhau Phần 9.7 và chương 10 mô tả cách giải quyết các trường hợp này
5.1.4 Hồi quy tuyến tính
Định nghĩa của chúng ta về machine learning là thuật toán mà có khả năng cải thiện hiệu năng chương trình máy tính dựa vào kinh nghiệm cho cảm giác hơi
mơ hồ Để làm rõ hơn, chúng ta sẽ đi vào thuật toán cơ bản nhất trong học máy: hồi quy tuyến tính Chúng ta sẽ lặp lại nhiều lần về thuật toán này, mục đích để làm nó rõ ràng hơn, cũng như giúp bạn đọc hiểu sâu hơn về khái niệm học máy
Như cái tên đã chỉ rõ, hồi quy tuyến tính được dùng để giải quyết các vấn đề hồiquy Nói cách khác, mục tiêu là xây dựng một hệ thống có thể lấy vector đầu vào x R∈R n và dự đoán được đầu ra là một vô hướng y R Trong trường hợp về∈R
Trang 13hồi quy tuyến tính, đầu ra là một hàm tuyến tính của đầu vào Đặt ŷ là giá trị mà
hệ thống dự đoán được, chúng ta có đầu ra được biểu diễn thành:
với w ∈ Rn là vector hệ số của đường tuyến tính
Tham số là giá trị định nghĩa ra mô hình Trong trường hợp này wi là hệ số nhânvới xi trước khi cộng tổng chúng lại với nhau Có thể hình dung w là một tập các trọng số định nghĩa các đặc trưng ảnh hưởng thế nào đến việc dự đoán Nếu đặc trưng xi nhận wi dương làm trọng số, tăng giá trị của đặc trưng sẽ làm tăng giá trị của đầu ra ŷ Ngược lại nếu wi âm, tăng giá trị của xi sẽ làm giảm giá trị của ŷ Nếu wi có độ lớn càng cao, nó sẽ làm cho đặc trưng xi ảnh hưởng càng nhiều tới kết quả đầu ra Nếu giá trị trọng số bằng 0, đồng nghĩa với việc đặc trưng này không có ý nghĩa trong việc dự đoán
Một trong các ví dụ kinh điển về hồi quy tuyến tính là áp dụng cho bài toán dự đoán giá nhà tại một khu vực Đầu vào là giá của các ngôi nhà quanh khu vực
đó và giá của chúng, đầu ra là mô hình dự đoán giá các ngôi nhà với các đặc trưng cho trước
Tác vụ T được định nghĩa: tìm ŷ = wTx để dự đoán y theo x Kế đến ta đi vào định nghĩa đánh giá hiệu năng P
Ta có ma trận được tạo gồm m mẫu chỉ dùng để đánh giá độ chính xác của mô hình Ngoài ra, giá trị của y cũng được phản ánh bởi các vector ứng với mỗi x tương ứng.Tập này sinh ra chỉ dùng cho mục đích test nên ta ký hiệu ma trận có input là X(test) với đầu ra gồm các vector đích y(test)
Hiệu năng của mô hình sẽ được đo lường bằng cách tính giá trị sai số bình phương trung bình (mean squared error) khi mà ta áp chúng lên tập test Với y(test) là giá trị dự đoán thì đáp án đúng ta cần tìm nằm trong phương trình:
Khi mà (test) tiến dần tới y(test) thì giá trị của MSE chạy dần về 0, bên cạnh đó:
nên giá trị sai số sẽ tăng khi khoảng cách giữa dự đoán và thực tế tăng
Trang 14Ta cần tìm một giải thuật có thể cập nhật trọng số w để sau khi quan sát tập huấn luyện (X(train),y(train)) ta thu được MSE giảm dần Ở đây, MSE_train áp dụng trên mô hình huấn luyện Ta sẽ dùng phương pháp tối ưu hóa sai số bình phương trung bình - mean squared error đã nói ở trên nhằm thực hiện mục tiêu
đề ra Để thực hiện việc tìm min của MSE, ta cần tìm w = 0 sao cho đạo hàm của MSE = 0 (tức lúc này MSE cực tiểu):
Ta thấy rằng, phương trình có nghiệm cho bởi
là những phương trình chuẩn (normal equation) và ta có thể tạo được các thuật toán đơn giản từ nó Hình 5.1 biểu diễn ví dụ về hồi quy tuyến tính:
Trang 15Hình 5.1: Xét bài toán hồi quy tuyến tính với tập train bao gồm 10 điểm,
mỗi điểm 1 đặc trưng, chính vì vậy nên trọng số w chứa duy nhất thông
điểm trong tập Điểm ở hình tối ưu w bên phải chính là giá trị nghiệm củaphương trình chuẩn nêu trên, tại nó MSEtrain đạt giá trị nhỏ nhất như ta thấy trên hình
Các mô hình có độ khó phức tạp hơn sẽ sử dụng hồi quy tuyến tính, với hệ số chặn (intercept) b được thêm vào Với mô hình này
có sự khác nhau khi ánh xạ tham số và dự đoán có tính tuyến tính, nhưng từ đặc trưng tới dự đoán thì lại tịnh tiến dần Đồ thị biểu diễn sẽ không nhất thiết đi qua gốc Thay vì thêm b, ta có thể nối cho đặc trưng x một xo luôn mang giá trị
1 (tức là hằng số) Vai trò của b sẽ được thay thế bởi trọng số ứng với x0 Thuật ngữ tuyến tính ở đây ám chỉ sự tính tiến mà ta đã mô ta trong phần này, và nó sẽđược sử dụng xuyên suốt cuốn sách
Phép biến đổi tịnh tiến gọi b ở đây là hệ số tự do Hiểu đơn giản rằng, kết quả sẽtiến dần về b mặc dù không biết đầu vào nào Nó không giống như độ chệch, ước lượng một đại lượng so với giá trị thực của đại lượng đó, mà nó biểu diễn một ý nghĩa hoàn toàn khác như một đặc điểm riêng của thuật toán
Tuy còn đơn giản với nhiều hạn chế nhưng hồi quy tuyến tính quả thật giúp chúng ta tiếp cận và có một cái nhìn về cách máy học hoạt động Đây là tiền đề giúp chúng ta xây dựng các thuật toán phức tạp hơn bằng những nguyên lý học máy Ta sẽ đề cập đến phần này ở những chương sau để làm rõ những nguyên lýquan trọng này là gì
5.2 Dung lượng (capacity), overfitting,
underfitting
Học máy có một thách thức là xây dựng các thuật toán có khả năng hoạt động tốt trên cả hai: tập dữ liệu đã huấn luyện và các đầu vào mới chưa gặp Khả năng tính toán tốt trên các dữ liệu đầu vào chưa quan sát được gọi là khả năng tổng quát hoá (generalization)
Trang 16Khi mà chúng ta bắt đầu huấn luyện một mô hình học máy, ta đề cập việc sử dụng một tập huấn luyện; có thể tính một độ đo lỗi nào đó của mô hình khi dự đoán trên tập huấn luyện, được gọi là sai số huấn luyện, và mong muốn giảm sai
số huấn luyện này Điều làm học máy khác biệt với tối ưu là ở chỗ chúng ta có giá trị sai số tổng quát hóa và sai số kiểm thử càng thấp càng tốt Sai số tổng quát hoá là kì vọng đầu vào mới Phân phối của các điểm đầu vào mà ta kỳ vọng
hệ thống sẽ gặp phải trong thực tế sẽ sinh ra những kì vọng mà ta sử dụng ở phần trên
Sai số tổng quát hoá của một mô hình học máy sẽ được dự đoán bằng cách đo lường hiệu năng trên tập kiểm thử với các điểm dữ liệu riêng biệt trích xuất từ tập huấn luyện
Với hồi quy tuyến tính, ta đã huấn luyện mô hình bằng cách sư dụng cực tiểu hoá sai số huấn luyện, nhưng cái mà ta cần quan tâm là sai số kiểm thử
Vậy thì làm cách nào để gây ảnh hưởng đến hiệu suất tập kiểm thử trong khi chỉ
có thể quan sát tập huấn luyện? Lý thuyết học thống kê (statistical learning theory) sẽ đưa ra một số câu trả lời Sẽ rất hạn chế khi thu thập bừa bãi tập kiểmthử và huấn luyện Nếu đưa ra cách ví dụ giả định về cách thu thập thì câu chuyện trên sẽ được giải quyết
Dữ liệu huấn luyện và dữ liệu kiểm thử tạo ra từ một phân phối xác suất trên tập
dữ liệu gọi là quá trình sinh ra dữ liệu Ta đề xuất một tập hợp các giả định gọi
là giả định i.i.d., viết tắt của 2 việc: mẫu dữ liệu trong tập dữ liệu là độc lập với nhau (independent) và tập huấn luyện cùng tập kiểm thử phân phối một cách giống nhau (identically distributed), và chúng được chọn ra từ một phân phối xác suất Dựa vào đó, ta có thể mô tả quá trình sinh dữ liệu bằng một phân phối xác suất trên một mẫu dữ liệu Mẫu huấn luyện và kiểm thử được sinh ra từ phân phối tương tự Ta gọi phân phối cơ sở này là phân phối sinh ra dữ liệu, và
sẽ ký hiệu nó là pdata Những yếu tố trên sẽ giúp ta nghiên cứu mối quan hệ giữa sai số huấn luyện và sai số kiểm thử theo chiều hướng toán học
Có một sự liên quan trực tiếp giữa sai số huấn luyện và sai số kiểm thử đó là sai
số huấn luyện kỳ vọng sẽ được chọn ngẫu nhiên và bằng sai số kiểm thử kỳ vọng của mô hình đó Giả sử có một phân phối p(x,y), được lấy mẫu nhiều lần
để tạo ra tập huấn luyện và tập kiểm thử Trong trường hợp với một giá trị cố
Trang 17định, sai số huấn luyện kỳ vọng bằng với sai số kiểm thử kỳ vọng, vì cả hai kỳ vọng được tạo ra bởi cùng một quá trình lấy mẫu dữ liệu
Chúng ta không cố định các tham số rồi lấy mẫu cả hai tập dữ liệu cùng lúc trong thuật toán máy học Ta lấy mẫu tập huấn luyện, sử dụng nó lựa chọn các tham để sai số huấn luyện giảm đạt mức giảm, sau đó lấy mẫu dữ liệu kiểm thử.Sai số kiểm thử kỳ vọng sẽ có giá trị lớn hơn sai số huấn luyện được kỳ vọng Một thuật toán học máy được đánh giá tốt hay không là khi:
1 Tạo ra sai số huấn luyện nhỏ
2 Khoảng cách giữa sai số trong huấn luyện và sai trong số kiểm thử nhỏ
Hai yếu tố trên ứng với hai thách thức trong học máy: underfitting và
overfitting Underfitting xảy ra khi mô hình dự đoán quá đơn giản, thậm chí sai
cả với tập dữ liệu đã sử dụng để huấn luyện Overfitting xảy ra khi mô hình quá khớp với tập dữ liệu huấn luyện, sinh ra một mô hình quá phức tạp dẫn đến khi gặp các trường hợp khác với những gì đã huấn luyện sẽ đưa về kết quả rất tệ
Ta có thể kiểm soát một mô hình có nhiều khả năng underfitting hay overfitting khi thay đổi capacity của nó Dung lượng của mô hình là khả năng phù hợp của
mô hình đó với các loại hàm số khác nhau Các mô hình sở hữu dung lượng thấp sẽ gặp khó khăn để phù hợp tập huấn luyện tranning Trong khi đó, mô hình dung lượng cao có thể gặp phải tình trạng overfitting khi ghi nhớ một cách máy móc các thuộc tính tập huấn luyện, dẫn đến khả năng mô hình không tổng quát trên tập kiểm thử
Để kiểm soát dung lượng một thuật toán học, ta dùng phương pháp lựa chọn không gian giả thuyết của nó, là tập hợp các hàm số có thể trở thành giải pháp trong thuật toán học Ví dụ, thuật toán hồi quy tuyến tính có không gian giả thuyết bao gồm tập hợp tất cả các hàm tuyến tính ở đầu vào của nó Việc khái quát hoá thuật toán hồi quy tuyến tính để nó có thể bao gồm các đa thức trong không gian giả thuyết của nó, sẽ hiệu quả hơn khi nó chỉ gồm những hàm tuyến tính Qua đó, dung lượng của mô hình sẽ được gia tăng
Các thuật toán học máy hoạt động tốt nhất trong điều kiện dung lượng của chúng phù hợp với độ phức tạp thực của tác vụ cần thực hiện và lượng dữ liệu huấn luyện mô hình được cung cấp Nếu chỉ có một lượng dung lượng nhỏ sẽ không thể giải quyết các vấn đề phức tạp Các mô hình có dung lượng lớn sẽ
Trang 18giải quyết được vấn đề đó, nhưng khi dung lượng trở nên lớn hơn những gì đưa
ra, sẽ dẫn đến overfitting
Trong hình 5.2, ta xét các biểu diễn nguyên tắc của hoạt động Ta sẽ so sánh các
bộ dự đoán sử dụng các hàm tuyến tính, hàm bậc hai và bậc 9 khi cố phù hợp
mô hình với một bài toán các điểm dữ liệu biểu diễn dưới hàm bậc hai Hàm tuyến tính không thể biểu diễn đường cong của biểu diễn dữ liệu, underfitting xảy ra Bộ dự đoán bậc 9 thì lại mô tả dữ liệu rất chính xác, nhưng sẽ xảy ra trường hợp biểu diễn vô hạn các hàm số đi qua các điểm dữ liệu huấn luyện, vì
nó có nhiều tham số hơn số mẫu huấn luyện Có quá nhiều sự lựa chọn để cho ta
sử dụng, nhưng việc đó không có nhiều cơ hội thực tế Trong ví dụ này, mô hình bậc hai hoàn toàn phù hợp với cấu trúc nhiệm vụ đề ra và do đó, nó sẽ tổngquát hoá tốt đối với dữ liệu mới
Hình 5.2: Ta xét ba mô hình với tập dữ liệu huấn luyện Mẫu x ngẫu
nhiên và y được xác định bởi một hàm bậc hai sinh ra dữ liệu huấn
luyện.Một hàm tuyến tính underfitting với dữ liệu này – không thể biểu diễn đường cong của dữ liệu Một hàm bậc hai khái quát khá tốt với các điểm dữ liệu chưa gặp Hàm đa thức bậc 9 bị overfitting khi thực hiện hợp dữ liệu Lời giải hàm bậc 9 với phương trình vô định biểu diễn đồ thị
đi qua tất cả các điểm dữ liệu huấn luyện chính xác, nhưng không may nókhông giúp trích xuất cấu trúc thực của dữ liệu Ta cũng nhận ra rằng giá trị của y cũng tăng rất mạnh về phía bên trái của dữ liệu, trong khi hàm sinh dữ liệu lại giảm ở vùng này
Trang 19Từ đầu đến giờ, ta chỉ mô tả một cách thay đổi dung lượng của một mô hình Nhưng thực tế là, có rất nhiều cách áp dụng thay đổi dung lượng của một mô hình Phải hiểu là dung lượng của mô hình còn nhiều các xác định ngoài lựa chọn mô hình Mô hình sẽ định ra họ các hàm số mà một thuật toán có thể học khi thay đổi các tham số Các hàm số này còn có tên gọi khác là dung lượng biểu diễn của mô hình Việc tìm ra một hàm phù hợp nhất là một vấn đề khó Trong các bài toán, thuật toán học chọn ra hàm làm giảm sai số huấn luyện Có nghĩa là dung lượng có tác động của của một thuật toán học sẽ có thể thấp hơn
so với mặt biểu diễn
Các triết gia có niên đại từ thời Ptolemy là những người đi đầu để hình thành những ý tưởng hiện đại của chúng ta về vấn đề cải thiện khả năng khái quát hóa các mô hình học máy Tiêu biểu trong đó là nguyên tắc Occam’s razor Nó đề cập đến việc nên chọn giả thuyết “đơn giản nhất” trong số các giả thuyết cùng giải thích các quan sát đã được nhận định Thế kỷ 20, những nhà sáng tạo lý thuyết học thống kê Vapnik and Chervonenkis, 1971; Vapnik, 1982; Blumer et al., 1989; Vapnik, 1995 đã chứng minh rõ ràng thêm điều đó
Lý thuyết học thống kê đưa ra cho chúng ta nhiều cách thức khác nhau nhận định về hiệu năng của mô hình Phương pháp được sử dụng phổ biến là số chiềuVapnik-Chervonenkis hay là số chiều VC Ta thương thấy VC được sử dụng vớimột bộ phân lớp nhị phân để đo đạc hiệu năng Số chiều VC là giá trị max của
m, với điều kiện tồn tại một bộ dữ liệu huấn luyện m điểm x để cho bộ phân loại
có thể gán nhãn tùy ý
Bên cạnh đó, lý thuyết học thống kê có thể đưa ra các dự đoán mang tính chất định lượng thông qua định lượng dung lượng mô hình Chênh lệch giữa sai số huấn luyện và sai số khái quát hóa bị chặn trên bởi một đại lượng nếu tăng số lượng mẫu huấn luyện nó sẽ giảm, nó tăng khi dung lượng của mô hình tăng
Ta giải thích tại sao thuật toán học máy có thể hoạt động tốt mà lại không được
áp dụng nhiều trong học sâu Có thể giải thích rằng các cận được xác định tươngđối lỏng lẻo, ngoài ra việc xác định dung lượng của các thuật toán trong deep learning là khó Đo hiệu năng thuật toán học sâu rất khó khăn vấn đề về các bài toán tối ưu
Trang 20Khi biết việc khái quát hóa sẽ giúp khoảng cách giữa sai số huấn luyện và sai sốkiểm thử là nhỏ là tốt hơn, vẫn cần nghĩ đến những phương pháp tối ưu hơn Đích đến là đẩy cho sai số huấn luyện tiến đến gần với mức sai số tối thiểu khi tăng dung lượng của mô hình Một hàm của dung lượng mô hình có dạng chữ U
sẽ biểu diễn sai số khái quát Minh hoạ bằng hình vẽ 5.3
Hình 5.3: Ta có thể thấy sai số trên tập huấn luyện và tập kiểm thử thay
đổi theo hai xu hướng khác nhau Bên trái của đường đồ thị, xảy ra
underfitting khi sai số huấn luyện và sai số khái quát cao Việc tăng dung lượng của mô hình làm cho sai số huấn luyện giảm dần, nhưng khoảng cách giữa sai số huấn luyện và sai số khái quát hóa nới rộng Khi khoảng cách vượt qua mức độ giảm, sẽ xảy ra hiện tượng overfitting
Ta sẽ giới thiệu khái niệm về các mô hình phi tham số cho trường hợp đạttới trường hợp cực đoan với mức dung lượng lớn Từ đầu đến lúc này, ta chỉ đề cập mô hình tham số Các mô hình tham số sẽ học hàm số với giới hạn về kích thước vector Nhưng bên cạnh đó, mô hình phi tham số sẽ không có những giới hạn như trên
Việc triển khai các mô hình phi tham số nhiều khi chỉ là ý tưởng lý thuyết và không khả thi Nhưng việc chuyển độ phức tạp thành một hàm số của kích thước tập huấn luyện cũng có thể sử dụng để xây dựng các mô hình phi tham số thực tế hơn Ta có thể đề cập đến việc sử dụng thuật toán hồi quy điểm gần nhất Khác biệt với thuật toán hồi quy tuyến tính thường sở hữu một vector
Trang 21trọng số cố định chiều dài, trong mô hình này sẽ chỉ có x và y từ tập dữ liệu huấn luyện Để tìm và phân loại x, hệ thống sẽ tìm các điểm gần nhất trong training data và trả về giá trị nhãn của nó.
Một thuật toán học phi tham số có thể tạo ra khi chèn một thuật toán có tham số bên trong một thuật toán có chức năng tăng lượng tham số của chính nó Lấy một ví dụ cho định nghĩa trên, một vòng lặp của quá trình học sẽ có thể thay đổibậc một đa thức hồi quy trên một đa thức mở rộng với các giá trị đầu vào
Chúng ta đề cập đến một khái niệm đó là mô hình lý tưởng, dự đoán được các phân phối Nhưng từ lý tưởng ở đây không có nghĩa là tuyệt đối, các sai số vẫn
có thể xảy ra Trong phần học có giám sát, có thể xảy ra cả trường hợp ngẫu nhiên và cố định khi ánh xạ từ x sang y Những sai số trên được gọi là sai số Bayes, nó biểu diễn đặc trưng cho mô hình này
Khi kích thước training data thay đổi, sai số huấn luyện và sai số khái quát hóa chuyển biến Nhưng, về mặt kỳ vọng sai số tổng quát hóa sẽ có thể không tăng khi tăng số lượng mẫu dữ liệu huấn luyện Lượng dữ liệu sẽ ảnh hưởng đến sai
số thấp nhất trong mô hình phi tham số Việc có dung lượng thấp hơn dung lượng tối ưu sẽ khiến mô hình tiến đến một giá trị sai số lớn hơn sai số Bayes Minh họa ở hình 5.4 Khi đã có dung lượng tối ưu thì khoảng cách giữa sai số huấn luyện và sai số khái quát hóa cũng không thể đảm bảo Bằng việc thu thập thêm mẫu huấn luyện, ta có thể tối ưu được bài toán này
Trang 22Hình 5.4: Dung lượng tối ưu của mô hình và tác động của kích thước tập
training data đối với sai số training và test Ta tạo nên một bài toán hồi quy dựa trên với cách thêm thông tin nhiều vào một đa thức bậc 5, sinh rachỉ một tập kiểm thử, sau đó sinh ra một số kích thước khác nhau cho tập huấn luyện Ta có 40 tập huấn luyện phân biệt để biểu diễn một biểu đồ sai số với khoảng tin cậy 95% Trên biểu đồ là sai số trên dữ liệu huấn luyện và dữ liệu kiểm thử đối với hai mô hình, bậc hai và bậc được chọn nhằm mục đích tối ưu sai số kiểm thử, chúng đều đóng Việc tăng kích thước của tập huấn luyện sẽ khiến sai số huấn luyện tăng trong mô hình bậc hai Mô hình sẽ xảy ra không phù hợp với dữ liệu khi training data lớn và bên cạnh đó, sai số trên tập kiểm thử sẽ giảm Vì mô hình bậc hai
ít dung lượng nên sai số kiểm thử của tiệm cận tới một giá trị lớn hơn trung bình Sai số huấn luyện sẽ có khả năng nhở hơn cả trong mô hình tối ưu với training data Kích thước mẫu huấn luyện càng tăng thì sai số
Trang 23càng tiệm cận với sai số Bayes Training data tăng, dung lượng tối ưu cũng tăng, giá trị sẽ ổn định khi hệ thống đủ khả năng xử lý các tác vụ yêu cầu.
5.2.1 Không có bữa trưa nào miễn phí (no free lunch theorem)
Lý thuyết học cho rằng thuật toán học máy có thể tạo ra một mô hình có tính phổ quát tốt từ tập dữ liệu hữu hạn Tuy nhiên việc suy diễn luật từ một tập ví
dụ hữu hạn có vẻ không đảm bảo được tính logic lắm Để đảm bảo tính logic sau khi suy diễn ra luật, cần có thông tinh về đầy đủ các phần tử còn lại trong tập dữ liệu huấn luyện
Trước đây, các thuật toán học máy đã tránh điều này bằng cách chỉ sử dụng các luật xác suất hơn là sử dụng toàn bộ các luật tìm ra được ở trong tập dữ liệu Học máy hứa hẹn sẽ tìm được ra các luật gần như chắc chắn đúng với hầu hết các phần tử trong tập dữ liệu huấn luyện
Nhưng luật xác suất cũng không phải là tối ưu Luật không có bữa trưa nào miễn phí (no free lunch theorem) đã đưa ra một nhận định, trung bình trên tất cảphân phối có nhiệm vụ sinh dữ liệu, khi phân loại các điểm chưa phân lớp thì các thuật toán có cùng sai số Nó chứng minh rằng không có thuật toán học máynào là tối ưu và có thể thay thế những phần còn lại Các thuật toán phức tạp nhấtkhi tính trung bình về hiệu suất thì cũng chỉ ngang ngửa với các thuật toán cơ bản và đơn giản như phân chia lớp Với những bài toán thực tế khác nhau, mỗi thuật toán sẽ đóng góp một vai trò riêng và lựa chọn thuật toán chính xác sẽ giúp bài toán được giải quyết một cách hiệu quả
Từ đó, ta rút ra bài học là không nên lao vào tìm kiếm một thuật toán “hoàn hảo” Chúng ta cần tìm những gì mà chính cỗ máy sẽ trải nghiệm, và lựa chọn, tìm tòi về những thuật toán, những phương pháp tốt nhất với tập dữ liệu mà chính máy tính sẽ học Đó là một cách nhìn xa hơn về học máy trong tương lai
5.2.2 Regularization
Luật không có bữa trưa nào miễn phí chỉ ra rằng chúng ta cần tìm ra thuật toán riêng để áp dụng cho từng tác vụ cụ thể Và để thực hiện điều đó thì việc xây dựng các tập hợp tùy chọn là cần thiết Khi đã có các tập hợp này rồi thì tùy vào
Trang 24từng bài toán mà ta sẽ có các chọn lựa khác nhau sao cho mang lại một hiệu quảtốt nhất.
Bằng việc thêm hoặc bớt các hàm trong không gian của thuật toán học máy chúng ta có thể điều chỉnh dung lượng mô hình Đó cũng là cách duy nhất mà chúng ta đề cập từ trước tới giờ để thay đổi thuật toán học tập Các ví dụ được
đề cập về tăng hay giảm bậc của đa thức trong bài toán hồi quy đã lý giải điều trên Và thực sự thì mức độ này vẫn còn quá đơn giản và chưa phù hợp với các
mô hình khác
Các hành vi mà thuật toán thực hiện không chỉ phụ thuộc số lượng hàm bên trong mà còn phụ thuộc rất nhiều vào độ phức tạp của các hàm đó Thuật toán hồi quy tuyến tính sở hữu một không gian giả thuyết các hàm tuyến tính bên trong nó Nó là một công cụ mạnh mẽ để áp dụng với các bài toán có đầu vào vàđầu ra tuyến tính, nhưng sẽ không có nhiều tác dụng với bài toán phi tuyến Ví
dụ là bà itoán dự đoán sin(x) từ x, không khả dụng mấy Chính vì vậy, ta cần bàitoán lựa chọn những hàm số phù hợp, kiểm soát các lượng hàm này để lấy ra các giải pháp từ đó
Khi hai hàm số cùng đủ điều kiện để giải quyết một bài toán, chúng ta sẽ có thể
áp dụng mức ưu tiên, tức là sẽ chọn những hàm số phù hợp hơn để sử dụng Vớinhững giải pháp không được ưu tiên thì nó sẽ được chọn khi mà đáp ứng tốt hơnđối với tập huấn luyện đang được sử dụng so với giải pháp ưu tiên
Lấy một số ví dụ về phần này, để suy giảm trọng số, ta có thể chỉnh sửa huấn luyện đối với hồi quy tuyến tính Khi thực hiện phép hồi quy tuyến tính với suy giảm trọng số, ta cực tiểu tổng của sai số bình phương trung bình trên tập huấn luyện bên cạnh đó sử dụng một tiêu chuẩn J(w) để biểu diễn sự ưu tiên trọng số,chuẩn L2 đạt giá trị bình phương nhỏ hơn Công thức:
Theo công thức ta thấy λ là một giá trị đã được chọn nhằm kiểm soát độ ưu tiên cho các trọng số nhỏ hơn Với λ = 0 , ưu tiên không được áp đặt, khi λ càng lớn càng thì ngược lại trọng số sẽ nhỏ dần Cực tiểu hoá J(w) sẽ đưa ra hai hướng, hoặc trọng số phù hợp với bộ huấn luyện hoặc nhỏ hơn Từ đó, chúng ta có các biện pháp có độ dốc nhỏ hoặc trọng số bớt đặc trưng Biểu diễn việc
underfitting và overfitting bị ảnh hưởng bởi suy giảm trọng số, ta sử dụng
Trang 25phương pháp train mô hình hồi quy đa thức bậc cao nhiều λ khác nhau Hình 5.5biểu diễn điều đó:
Hình 5.5: Xét độ phù hợp đối với một mô hình hồi quy đa thức bậc cao
cung tập training của nó Ở đây chúng ta chỉ sử dụng các mô hình với bậc
9 mặc dù hàm thực tế là hàm bậc hai Để tránh overfitting ta sử dụng thayđổi trọng số Khi λ rất lớn, mô hình học sẽ phải học một hàm không độ dốc (xảy ra underfitting) Khi sử dụng giá trị λ trung bình thì đường congphù hợp được sinh ra Việc suy giảm trọng số đã khiến mô hình sử dụng các hàm cơ bản thay vì chọn những thứ phức tạp hơn Khi mà suy giảm tiến về 0, hàm sẽ bị overfitting như trong hình cuối cùng
Tổng quát hơn, chúng ta có một số phương pháp để tránh overfitting và nổi bật trong đó là regularization Cụ thể trong phương pháp này, chúng ta sẽ thêm vào hàm chi phí một lượng nào đó Điều này có thể khiến model đầu ra có tính tổng quát hóa cao hơn Một phương pháp phổ biến thường được dùng là tiêu biến trọng số (weight decay) Trong chương 7 chúng ta sẽ tìm hiểu kĩ hơn và nhiều phương pháp có thể áp dụng hơn
Sự ưu tiên là quan trọng trong xây dựng mô hình khi có thể tận dụng tất cả các hàm tránh thiếu sót mà vẫn có sự lựa chọn hiệu quả Khi một hàm bị loại bỏ, chứng tỏ đã có một ưu tiên rất mạnh trong không gian giả thuyết chống lại nó
Sự ưu tiên rõ ràng với các hàm tuyến tính với các trọng số nhỏ hơn trong các ví
dụ khi thực hiện suy giảm trọng số Các cơ chế kiểm soát thể hiện sự ưu tiên trong các giải pháp khác nhau Nó tập trung vào giảm sai số tổng quát chứ
Trang 26không phải phần huấn luyện đã nói các phần trên Với tầm quan trọng lớn, nó đang được chú ý và quan tâm như với các bài toán tối ưu hóa.
Tương tự với luật không có bữa trưa nào miễn phí, không có tham số nào tốt vớimọi trường hợp Đối với mỗi trường hợp chúng ta cần tìm siêu tham số phù hợp, có thể coi là một cách "mò có cơ sở" Phương pháp được sử dụng khá nhiều hiện nay là cross-validation
5.3 Siêu tham số và tập validation
Để kiểm soát hành vi của thuật toán, chúng ta cần sử dụng các siêu tham số Cácgiá trị của siêu tham số không bị ảnh hưởng bởi tác động của thuật toán Ở những phần trước chúng ta cũng có đề cập đến một số siêu tham số như là bậc của đa thức, hay trong phần cơ chế kiểm soát với λ, thể hiện mức độ suy giảm trọng số
Có nhiều trường hợp cài đặt làm siêu tham số không được giải thuật học vì tính chất khó tối ưu của nó Với trường hợp học siêu tham số từ tập huấn luyện không thích hợp thì cài đặt sẽ được chọn, áp dụng trên toàn mô hình khi các siêu tham số kiểm soát dung lượng Sự overfitting có thể xảy ra khi các siêu tham số chọn mô hình dung lượng lớn nhất Có một ví dụ về trường hợp này khimột huấn luyện với bậc cao và suy giảm tiến về không tất nhiên sẽ tốt hơn so với trường hợp ngược lại Chính vì vấn đề này mà chúng ta phải đi đến định nghĩa tập xác thực, thứ mà thuật toán không xử lý trực tiếp
Ở các phần trước chúng ta đã đề cập đến tập kiểm thử và việc các mẫu từ phân phối có thể dùng để ước tính sai số tổng quát hóa Nhưng trong đó các mẫu kiểm thử không tham gia vào các quá trình của mô hình Chính vì vậy, không cómẫu data nào từ tập training có thể được sử dụng cùng với tập xác thực
Để giải quyết vấn đề về tính thiên vị khi chọn siêu tham số đầu vào, chúng ta sửdụng phương pháp validation Để hiểu rõ hơn về phương pháp này, chúng ta bắtđầu với cách chọn tập validation Thông thường, chúng ta tách hoàn toàn tập test ra, sau đó sử dụng tập validation (được trích ra từ bộ dữ liệu training, tỷ lệ hay được sử dụng là 80:20) như tập test "đầu tiên" và chọn siêu tham số sao chotập này đạt được kết quả tốt Sau khi chọn được bộ siêu tham số tốt, chúng ta đưa mô hình kiểm tra với dữ liệu kiểm thử ban đầu Nếu kết quả đối với tập dữ
Trang 27liệu test tốt, ta có thể đánh giá mô hình một cách khách quan hơn do mô hình chưa từng gặp các dữ liệu kiểm thử đó (gọi là dữ liệu unseen)
Một tập kiểm thử có thể mang lại kết quả tốt khi trải qua nhiều đánh giá qua cácthời kỳ khác nhau và được chính những nhà khoa học nghiên cứu hiệu suất sẽ được sử dụng phổ biến và rộng rãi Nhưng khi đã sử dụng quá nhiều thì một ngày nào đó thì nó sẽ trở nên lỗi thời cùng thời gian và không thể đánh giá chính xác hiệu năng của các hệ thống hiện tại Không dừng lại ở đó, chúng ta liên tục tìm những tập kiểm thử chính xác và lớn hơn, triển vọng hơn
5.3.1 Cross validation
Khi phân chia thành hai phần tập huấn luyện cố định và một tập kiểm thử cố định sẽ phát sinh một số vấn đề với tập kiểm thử dung lượng nhỏ Nó làm cho sai số trung bình bất định và khó thống kê, khó xác định liệu thuật toán này có tốt hơn thuật toán kia hay không trong mỗi tác vụ T khác nhau
Vấn đề này sẽ không đáng quan tâm khi tập dữ liệu đủ lớn Với những tập nhỏ, chúng sẽ sử dụng toàn bộ tập trong quy trình tính sai số, nhưng điều đó gây lãngphí lớn Các thủ tục xây dựng trên phép tính toán huấn luyện và kiểm thử dữ liệu Ở phần này, ta sẽ đề cập đến thủ tục xác thực chéo k-gói, với việc chia dữ liệu thành k phần không chồng nhau và lấy sai số trung bình với k phép thử Khimột tập con làm tập kiểm thử thì phần còn lại sẽ là tập huấn luyện Dù hàm ước lượng phương sai không lệch của các hàm tính toán sai số trung bình không tồn tại, nhưng ta vẫn có thể dùng các phép tính xấp xỉ trong quá trình ước lượng
Bản chất thì cross-validation giống với validation, tuy nhiên có một điểm khác biệt nhỏ làm cho phương pháp này đem lại độ hiểu quả cao hơn so với
validation là thay vì chỉ chọn ngẫu nhiên ra một tập validation thì chúng ta thực hiện điều này nhiều lần, chọn ra k tập validation (còn gọi là k-fold) Tuy đem lạikết quả tốt hơn nhưng kỹ thuật này không phải lúc nào cũng tốt, lúc nào cũng nên áp dụng Ví dụ khi sử dụng đối với tập dữ liệu lớn thì bài toán thời gian sẽ không đảm bảo được, quá trình "thử sai" sẽ tốn rất nhiều thời gian
Thuật toán 5.1 Thuật toán K-fold cross-validation Có thể sử dụng để ước lượng
sai số tổng quát của thuật toán học A với tập dữ liệu D có kích thước nhỏ do trung bình của hàm mất mát có phương sai lớn Tập D ở đây cấu thành từ các
Trang 28phần tử trừu tượng z(i) (đối với mẫu dữ liệu thứ i) Nó có thể ở dạng z(i) = x(i),y(i) khi học có giám sát hay z(i) = x(i) khi học không giám sát Quá trình trả
về các lỗi e dưới dạng vector với dữ liệu trong D, biểu diễn ước lượng sai số Đểtính toán khoảng tin cậy xung quanh giá trị trung bình ta có thể dùng các lỗi trêncác mẫu dữ liệu đơn lẻ Có thể những khoảng tin cậy không đạt đủ độ hợp lý, nóvẫn dùng trong so sánh hai thuật toán A và B tốt hơn nhau khi khoảng tin cậy lỗi của A thấp hơn và không giao với lỗi của B
Định nghĩa KFoldXV(D,A,L,k):
Yêu cầu: D, tập dữ liệu đã cho, với phần tử z(i)
Yêu cầu: A, thuật toán học tập lấy tập dữ liệu đầu vào và xuất ra một hàm có
thể học
Yêu cầu: L, hàm mất mát là một hàm ánh xạ từ hàm học f và
một mẫu z(i) ∈ D vô hướng ∈ R
Yêu cầu: k, số lượng các gói
Chia D thành k tập con riêng biệt Di có hợp là D
Return e
5.4 Ước lượng, độ chệch và phương sai
Ngành thống kê học cung cấp cho chúng ta khá nhiều công cụ mạnh mẽ để giải quyết các bài toán học máy mà không cần đặt nặng vấn đề dữ liệu kiểm thử Các khái niệm nền tảng như ước lượng tham số, độ chệch và phương sai vô cùng hữu hiệu để chuẩn hóa các kí hiệu đại diện của tổng quát hóa, overfitting
và underfitting
5.4.1 Ước lượng điểm
Ước lượng điểm là cố gắng tạo ra một dự đoán tốt nhất của một số thông tin đáng quan tâm Thông thường các thông tin đáng quan tâm có thể là tham số đơn lẻ hoặc vector các tham số của mô hình nào đó Ví dụ đối với thuật toán hồi
Trang 29quy tuyến tính, thông tin hữu ích mà chúng ta cần quan tâm ở đây là vector trọng số, hoặc cũng có thể chính là phương trình đường phẳng cần dựng.
Để phân biệt các ước lượng tham số với giá trị thực của chúng, chúng ta quy ước ký hiệu một điểm ước lượng của một tham số θ là
Ta gọi {x(1),…,x(m)} là tập hợp của m điểm dữ liệu độc lập và có cùng phân phối (i.i.d) Trong trường hợp này, ước lượng điểm hoặc một thống kê là một hàm sốbất kỳ của dữ liệu:
Giá trị θ trả về không cần quá gần với thực tế và cũng không nhất thiết giá trị g trả về phải nằm trong tập θ biết trước Nó cho chúng ta thấy rằng định nghĩa củaước lượng rất tổng quát Một hàm có đầu ra của ước lượng điểm gần với giá trị thực của θ sẽ được gọi là một hàm tốt trong khi những hàm khác có thể không đạt được
Coi rằng giá trị tham số thực tế là hằng số nhưng chưa có số liệu cụ thể và ước lượng điểm là một hàm dữ liệu là một biến ngẫu nhiên, bởi vì dữ liệu của chúng ta được chọn ngẫu nhiên và các hàm số cũng như vậy
Ta đề cập đến khái niệm ước lượng hàm (function estimator) Nó chỉ mối quan
hệ của các biến đầu vào và đầu ra tương ứng Ta sẽ không đi sâu vào phần này chi tiết
Trong các phần tiếp theo, ta sẽ đề cập đến những thuộc tính quan trọng của ước lượng điểm và đưa ra các quan điểm khác nhau về chúng
5.4.2 Độ chệch
Độ chệch (bias) của một hàm ước lượng được định nghĩa như sau:
ở đây ta có dữ liệu và kỳ vọng lấy từ nó cùng với phân phối sinh dữ liệu được định nghĩa từ θ Một ước lượng gọi là không chệch khi bias ( m ) = 0, từ đó suy
ra E( m ) = θ
Trang 30Ta xét một ví dụ với phân phối Bernoulli Với các mẫu {x(1),…,x(m)} độc lập và tuân theo phân phối Bernoulli cùng giá trị trung bình θ, ta đưa ra phương trình:
Trung bình của các mẫu huấn luyện - ước lượng phổ biến của θ của phân phối:
Phương trình tiếp theo sẽ giúp ta xác định xem hàm trên có lệch hay không:
Với bias(θ) = 0, ta kết luận không chệch
Trong ví dụ tiếp theo, ta đề cập đến ước lượng giá trị trung bình của phân phối Gauss Ta xét mẫu {x(1),…,x(m) } độc lập và phân phối theo phân phối Gaussian p( x(i) )= N(x(i);μ,σ2) với i {1,…,m} Hàm mật độ xác suất phân phối Gauss ∈Rtheo phương trình:
Ước lượng phổ biến cho tham số kì vọng của phân phối Gauss là một sample mean hay còn gọi là trung bình mẫu:
Ta tìm kỳ vọng của mẫu để tính độ chệch
Trang 31Qua các phương trình trên, ta thấy rằng trung bình mẫu chính là hàm ước lượng không chệch cho kỳ vọng của phân phối Gauss.
Ví dụ tiếp theo đề cập đến ước lượng của phương sai phân phối Gauss Xét hai ước lượng của phương sai phân phối Gauss Qua đó, ta có thể nhận xét ước lượng nào bị chệch trong hai ước lượng này
Xét ước lượng phương sai mẫu của σ2:
trong đó là trung bình mẫu Ta xét:
ta kết luận rằng độ chệch của ˆσσ2
m là −σσ2/m Từ đó suy ra phương sai mẫu là m Từ đó suy ra phương sai mẫu là ước lượng chệch
Ước lượng phương sai mẫu không chệch
đưa ra một hướng tiếp cận khác Đây là một ước lượng không chệch với thuộc tính E [˜σσ2
m] = σ2 :
Trang 32Hai ước lượng rõ ràng có độ chệch khác nhau.Ước lượng không chệch là những
gì mà ta hướng đến, nhưng không phải lúc nào ta cũng tìm được những trường hợp tốt Các ước lượng lệch sẽ thường được chọn thay vì những ước lượng không lệch, với những thuộc tính quan trọng của chúng
5.4.3 Phương sai và độ lệch chuẩn
Tiếp theo ta đề cập đến mức độ biến thiên của hàm ước lượng trong mẫu dữ liệu Giống như khi tính toán kỳ vọng của một ước lượng cho việc tìm độ chệch,
ta có thể tính toán phương sai của nó Phương sai ở đây đơn giản là Var( ), trong đó biến ngẫu nhiên là training data Theo khái niệm trong xác suất thống
kê thì phương sai đặc trưng cho mức độ tản mát của dữ liệu quanh giá trị trung bình Căn bậc hai của phương sai là độ lệch chuẩn, giống với những gì ta đã được làm quen trong giải tích
Phương sai và sai số chuẩn xác định mức độ biến thiên của một ước lượng khi
ta lấy lại bộ dữ liệu một lần nữa với tính chất độc lập từ cơ sở Giá trị kì vọng của hai thuộc tính này cũng giống như độ chệch, ta luôn mong nó có một giá trị nhỏ như mong muốn
Ta luôn thu được một kết quả không cố định khi thống kê một mẫu hữu hạn, theo có nghĩa là ta có thể thu được các mẫu khác nhau từ cùng một phân phối,
và tất nhiên các thông số thống kê của chúng cũng riêng biệt Ta luôn muốn tìm
ra mức độ biến thiên trong các hàm ước lượng để tìm ra sai số cho bài toán
Phương trình sau biểu diễn sai số chuẩn của giá trị trung bình:
Trang 33ở đây σ2 đóng vai trò thực sự là phương sai mẫu xi Ta thường sẽ tính độ lệch bằng căn bậc hai của phương sai Nhưng ở đây cả căn bậc hai của cả phương saimẫu và ước lượng không chệch của phương sai không thể mang lại cho độ lệch chuẩn một ước lượng chính xác Mục đích của chúng ta là tìm ra ước lượng sát với độ lêch chuẩn thực và chúng có thể được áp dụng ở trong thực tế Để có được một độ lệch chuẩn chính xác, ta thường bắt nguồn từ ước lượng không chệch của phương sai và trong trường hợp đầu vào có số mẫu lớn thì nó khá hợplý.
Các sai số này đóng vai trò khá quan trọng trong học máy Tính trung bình mẫu của sai số toàn tập test là một cách để ta tìm ra con số tổng quát cho sai số, số lượng mẫu càng lớn thì chỉ số này càng tốt Theo định lý giới hạn trung tâm, ta biết rằng giá trị trung bình gần như tuân theo phân phối chuẩn Qua đó, ta có thể
áp dụng nó để tính điểm rơi của kỳ vọng trong các vùng khác nhau Lấy một ví
dụ với khoảng tin cậy 95 phần trăm xung quanh trung bình là:
cùng với các chỉ số trung bình là và phương sai SE( )2 Nếu cận trên của khoảng tin cậy 95 phần trăm cho sai số của A nhỏ hơn cận của B thì ta có nhận xét rằng, thuật toán A mang lại hiệu năng tốt hơn B
Ta lại đề cập đến phân phối Bernoulli để xét tập mẫu {x(1), ,x(m)} độc lập Lúc này phương sai của ước lượng m sẽ được tính bằng công thức:
Trang 34
Ta đưa ra một nhận xét cho phương trình là phương sai sẽ giảm dần theo hàm sốvới tham số là m tập dữ liệu Đây là tiền đề cho phần tính nhất quán của ước lượng phổ biến mà ta đề cập ở phần 5.4.5.
5.4.4 Đánh đổi giữa độ chệch và phương sai để cực tiểu hóa trung bình của bình phương sai số
Trong một ước lượng, độ chệch và phương sai phản ánh hai khái niệm khác nhau Với độ chệch, nó được dùng trong việc đo độ lệch kỳ vọng so với giá trị thực Bên cạnh đó, phương sai lại cho phép ta đo độ lệch của ước lượng kỳ vọngvới bất cứ thành phần nào từ các phép lấy mẫu
Vậy thì với hai công dụng như trên, chúng ta sẽ ưu tiên thuộc tính nào hơn khi phải chọn một trong hai? Nếu muốn tính xấp xỉ hàm trong hình 5.24 và ta buộc phải lựa chọn giữa việc dùng độ chệch hay phương sai, thì đâu là thứ mà ta ưu tiên hàng đầu?
Cross-validation chính là khái niệm được đề xuất để giải quyết vấn đề này Thực tế đã kiểm chứng, đây là một phương pháp rất hữu ích Bên cạnh đó, ta cũng có thể dùng phương pháp sai số bình phương trung bình để giải quyết vấn
đề này:
Ở đây, MSE sẽ đại diện cho độ lệch kỳ vọng tổng quát giữa giá trị thực và tham
số Phương trình trên cho ta thấy để có MSE ta cần đánh giá chuẩn cả độ chệch
và phương sai Ta hướng đến việc tìm được một MSE nhỏ, nó giúp cho ta có thểcân bằng được hai yếu tố phương sai và độ chệch giúp bài toán tốt hơn
Trang 35Capacity, overfitting and underfitting đều liên quan rất chặt chẽ đối với phương sai và độ chệch Với MSE phản ánh sai số tổng quát, khi mà capacity có chiều hướng tăng thì nó sẽ kéo theo việc tăng phương sai và giảm độ chệch Hình 5.6 biểu diễn điều này, khi mà sai số tổng quát hóa được biểu diễn dưới dạng một đường cong chữ U.
Hình 5.6: Khi capacity tăng lên, độ chệch (bias) có xu hướng giảm và
phương sai (variance) sẽ tăng Hai đường này cắt nhau và xét hình chữ U
mà chúng tạo thành ở phía trên, ta sẽ có biểu diễn của sai số tổng quát Khi tăng và giảm capacity sẽ có thể đạt được giá trị tối ưu, là điểm mốc
để xác định quá trình underfitting hay là overfitting Nó tương tự như những gì mà ta đã bàn ở phần 5.2 nên sẽ không nhắc lại ở trong mục này
5.4.5 Tính nhất quán
Ta đã tìm hiểu về các loại ước lượng khác nhau với tập train cố định Trong trường hợp thực tế, ta cần quan tâm về các trường hợp khác ví dụ như số lượng mẫu huấn luyện thay đổi Xét theo lý thuyết, với một số lượng mẫu càng lớn thì
nó sẽ mang lại một ước lượng điểm càng gần sát với giá trị cần xét Ta biểu diễn
nó theo mặt công thức bằng phương trình:
plim ở đây biểu thị độ hội tụ với xác suất, đối với bất kỳ ϵ > 0 ta có
P(| m−σθ|> ϵ) → 0 khi m → ∞ Phương trình trên đưa ra cho ta điều kiện được gọi là tính nhất quán (consistency) Tính nhất quán này có nhiều dạng, nhất quán yếu và mạnh, với nhất quán mạnh biểu thị sự hội tụ gần như chắc chắn
Trang 36Thực ra không đi đâu xa cả, tính nhất quán bàn về việc độ chệch sẽ ngày một giảm đi khi số lượng mẫu huấn luyện trở nên nhiều hơn Những đây chỉ là định nghĩa một chiều, một hàm không chệch có thể không nhất quán Ta xét ví dụ tìm trung bình μ của phân phối chuẩn N(x;μ,σ2), với mẫu m phần từ từ x(1) đến
x(m) Coi x(1) không chệch, E( m) = θ, ước lượng của nó sẽ là không còn phụ thuộc và số lượng mẫu nữa Có thể hiểu thêm là ước lượng sẽ không bị chệch theo tiệm cận Dù vậy, vì không thỏa mãn m → θ khi m → ∞ nên ta
không thể coi nó là một ước lượng có tính nhất quán
5.5 Ước lượng hợp lý cực đại (Maximum Likelihood Estimation)
Ở những phần trên ta có nhắc tới các ước lượng chung Nhưng cụ thể thì các ước lượng này là thế nào và từ đâu mà có? Hơn nữa giả sử rằng một số hàm có thể tạo ra ước lượng khá "tốt" thì chúng ta cũng cần phải biết được phương sai
và độ chệch của nó để biết được nó tốt đến đâu Phương pháp đươc sử dụng rộng rãi nhất và nổi tiếng hiện nay là nguyên lý maximum likelihood
Ta có một tập hợp m mẫu X = {x(1),…,x(m)}, chúng được lấy độc lập từ một phânphối sinh thực tế chưa rõ pdata(x) Trong cùng không gian được tham số hóa bởi
θ, ta đặt pmodel(x;θ) là một họ phân phối xác suất Nói cách khác, chức năng của
pmodel(x;θ) sẽ ánh xạ bất kỳ một mẫu x với một con số xác định ước lượng xác suất thực sự pdata(x) Ước lượng hợp lý tối đa lúc đó sẽ được triển khai theo côngthức:
Dễ thấy được rằng phép nhân thực hiện sẽ khá phức tạp, nhất là khi thực hiện tối ưu để tìm max Do đó chúng ta đi theo một hướng tiếp cận khác, thay vì tìm max của hàm trên ta đi tìm max logarit của nó Khi chuyển sang logarit thì phéptích sẽ chuyển thành phép tổng, lúc này dạng của hàm đã tiện hơn khá nhiều:
Trang 37Khi ta cân chỉnh lại tỉ lệ hàm chi phí thì hàm argmax cố định(thực ra phép nhân với hằng số), từ đó ta có thể chia hàm chi phí cho m, qua đó thu được một công thức biểu thị kỳ vọng của pdata trong dữ liệu huấn luyện:
Một hướng nhìn khác cho bài toán này chính là tối thiểu hóa sự khác biệt giữa phân phối dự đoán và phân phối theo kinh nghiệm Độ đo khác biệt được sử dụng ở đây là phân kì KL thường được dùng để đo khác biệt của 2 phân phối
Vế trái chỉ là quá trình sinh dữ liệu chứ không phải là mô hình Điều đó có nghĩa khi chúng ta train mô hình để tối thiểu hóa độ phân kì KL, chúng ta cần tối thiểu hóa hàm sau:
Việc này tương đương với cực đại hóa:
Cực tiểu hoá entropy chéo giữa các phân phối cùng với cực tiểu hóa độ phân kỳ
KL đều tương đồng với nhau Ta thấy thuật ngữ “entropy chéo” thường để chỉ
cụ thể về hàm đối của một logarit có tính hợp lý nằm trong phân phối Bernoulli hoặc phân phối softmax, thuật ngữ đó đang được sử dụng sai cách Bất kì hàm mất mát nào chứa một hàm đối của logarit hợp lý trừ log-likelihood đều là cross-entropy giữa phân phối theo kinh nghiệm được định nghĩa trong tập data huấn luyện với phân phối theo mô hình Ví dụ: trung bình bình phương sai số là cross entropy của phân phối theo kinh nghiệm
Vậy thì, ta coi uớc lượng hợp lý cực đại là lý do để phân phối của mô hình phù hợp với phân phối thực nghiệm pdata, trong điều kiện lý tưởng phân phối thực nghiệm sẽ được đề cử thay bởi phân phối sinh dữ liệu thực, nhưng nó thường không khả thi trong thực tế
Ta sẽ cực đại hoá hàm hợp lý hay cực tiểu hóa độ phân kỳ KL với θ tối ưu , khi
đó giá trị sẽ khác nhau giữa các hàm mục tiêu, đều nhằm mục đích tối thiểu chi phí Khi đó việc cực tiểu hàm hợp lý sẽ chuyển thành việc cực tiểu hóa hàm đối với logarit mang tính hợp lý, nó cũng có thể áp dụng cùng với entropy chéo Vì
Trang 38phân kì KL có min là 0, nên việc hợp lý cực đại với KL min sẽ có thể mang lại lợi ích Với X thực, hàm đối của hàm logarit nêu trên sẽ có thể mang giá trị âm.
5.5.1 Logarit hợp lý có điều kiện và sai số bình phương trung bình
Việc tổng quát hóa ước lượng hợp lý cực đại để ước lượng một xác suất có điều kiện P(y|x;θ) là dễ dàng Chính vì đây là cơ sở cho hầu hết các phương pháp học
có giám sát, nên nó rất phổ biến trong thực tế Nếu X là input, Y là nhãn mà chúng ta theo dõi, sẽ nảy sinh điều kiện với ước lượng:
Với trường hợp mẫu là I.I.d:
Ví dụ: Ta sẽ lấy ví dụ về hồi quy tuyến tính cho trường hợp này Nó đã có thể
xem như là một quá trình hợp lý cực đại Đơn giản, với hồi quy tuyến tính, ta hiểu nó là một thuật toán lấy đầu vào x và tạo ra đầu ra y Phép ánh xạ x, y đượccực tiểu hoá sai số bình phương trung bình, và tiêu chuẩn này mang một tính tùy ý bất biến Dưới góc nhìn của ước lượng hợp lý cực đại thì hồi quy tuyến tính sẽ có sự thay đổi ra sao? Không đưa ra nhãn y như yêu cầu, ta sẽ coi đây là
mô hình tạo phân phối có điều kiện p(y|x)
Trong một training data vô hạn, với các mẫu x giống nhau thì sẽ lại sinh ra các ykhác nhau Mục đích của ta giờ đây là làm cho phân phối p(y|x) phù hợp với tất
cả các giá trị y khác nhau trên, sao cho chúng đều tương thích với x Đêr tìm được phép hồi quy ban đầu, ta sẽ định nghĩa p(y | x) =N(y; ŷ(x;w), σ2) Trong đóŷ(x;w) là một dự đoán của giá trị trung bình của phân phối chuẩn Giả sử
phương sai σ2 cố định, dạng của p (y|x) làm cho việc ước lượng cực đại giống với thuật toán học tập ban đầu Vì mẫu dữ liệu dạng i.i.d, nên hàm logarit hợp lýtrở thành:
Trang 39Trong đó ŷ(i) là đầu ra, x(i) là đầu vào với m mẫu Sau đây là công thức so sánh giữa logarit hợp lý với sai số bình phương trung bình,
Khi cực đại hóa logarit hàm hợp lý với tham số w sẽ tạo ra ước lượng w giống khi cực tiểu hoá sai số bình phương trung bình Dù có các giá trị khác nhau nhưng nghiệm tối ưu của chúng lại giống nhau Do đó, ta có thể dùng MSE như một quá trình để ước lượng giá trị hợp lý cực đại, qua đó làm nổi bật những mặthữu dụng thực tế của tính chất này
5.5.2 Các tính chất của phương pháp hợp lý cực đại
Thứ nhất, nó sẽ gần với với ước lượng tốt nhất, khi số mẫu m tiến tới vô cùng thì tốc độ sẽ tỉ lệ thuận độ tăng Trong các trường hợp cụ thể, nó sẽ duy trì sự nhất quán, khi mẫu càng lớn hơn thì ước lượng sẽ càng gần với giá trị của tham
số Các điều kiện cần:
- pdata phải thuộc mô hình pmodel(.;θ) Không ước lượng nào xác định được
pdata nếu nó không thỏa mãn
- pdata phải đồng bộ cùng một giá trị θ Trong trường hợp không thỏa mãn,
có thể tìm pdata bằng ước lượng nhưng θ thì không thể xác định cho quá trình sinh dữ liệu
Ngoài ước lượng hợp lý cực đại, vẫn còn nhiều phương pháp khác cũng thoả mãn với ước lượng nhất quán và các tính chất của nó Dù vậy thì mỗi ước lượngkhác nhau sẽ có hiệu quả trong thống kê khác nhau, với ý nghĩa là sai số của chúng sẽ có thể nhỏ hơn khi số mẫu m là hằng số Ở đây, ta cũng có thể hiểu là
nó cần ít mẫu hơn để tìm ra sai số tổng quát cho bài toán
Khi nghiên cứu về tính hiệu quả thống kê, người ta thường nghiên cứu nó ở điềukiện có tham số với mục đích là ước lượng giá trị của tham số trong hàm chứ không phải giá trị đầu ra Tìm ra kỳ vọng của sai số bình phương trung bình là cách để tìm sự phù hợp giữa ước lượng và giá trị thực của tham số với kỳ vọng lấy trên mẫu dữ liệu Nó được tính bình phương hiệu của ước lượng và giá trị thực Sai số bình phương được tính toán tỉ lệ nghịch với m Trong trường hợp mlớn, cận dưới Cramér-Rao đã đưa ra khái niệm: không ước lượng nào có chỉ số sai số bình phương nhỏ hơn được trường hợp ước lượng cực đại
Trang 40Để đảm bảo tính nhất quán và tính hiệu quả, ta sẽ sử dụng yếu tố hợp lý cực đại này nhiều trong học máy Khi các mẫu quá ít dẫn đến underfitting, ta có thể dùng suy giảm trọng số để tìm ra phương sai nhỏ hơn của hợp lý cực đại.
5.6 Thống kê Bayes
Chúng ta đã đề cập tới việc thống kê tần số và hướng tiếp cận dựa trên ước lượng giá trị đơn của tham số θ, sau đó tiến hành dự đoán dựa trên ước lượng này Có một hướng tiếp cận khác là xét tất cả các giá trị của θ khi tiến hành dự đoán, đó chính là nội dung của thống kê bayes
Trong phần 5.4.1, ta đã tìm hiểu về tần suất: ta có θ là hằng số chưa biết trước, khi mà ước lượng điểm là hàm của một tập dữ liệu ngẫu nhiên và cũng đồng thời là một biến ngẫu nhiên
Khác với những quan điểm còn lại, thống kê Bayes sẽ đánh giá mức độ của tri thức thông qua xác suất Như đã biết, tập giá trị biểu thị giá trị trực tiếp nên nó không mang tính ngẫu nhiên Bên cạnh đó thì giá trị θ thì lại bất định và chưa rõgiá trị nên nó được biểu diễn dưới dạng biến ngẫu nhiên
Trước khi quan sát dữ liệu, ta biểu diễn những gì đã biết về tham số θ bằng phânphối xác suất tiên nghiệm p(θ) Tổng quá thì người ta thường chọn p(θ) với vùng nghiệm rộng (entropy cao) nhằm phản ảnh độ ngẫu nhiên của θ Ta có thể đặt giả thuyết cho θ nằm trong vùng hữu hạn đã xác định Bên cạnh đó các tiên nghiệm khác cũng có các phương pháp đơn giản hơn như chọn một hàm gần một hằng số để biểu diễn
Ta xét một mẫu dữ liệu {x(1), ,xm} Với dự đoán θ, ta sẽ tìm tác động tới các mẫu này với hàm hợp lý của dữ liệu p(x(1),…x(m) | θ) theo quy tắc Bayes:
Khi ước lượng Bayes được dùng, ta thấy tiên nghiệm thường là phân phối tươngđối đều, nó cũng có thể là phân phối Gauss với chỉ số entropy lớn; hậu nghiệm
sẽ bị mất entropy, các giá trị thì lại bị tập trung xung quanh những tham số ít khả năng xảy ra