Nhập môn học máy (Machine Learning

)

Nguyễn Xuân Hoài, PhD. Học Viện Kỹ Thuật Quân Sự

Nội dung
Học với luật Bayes (Bayesian Learning):
• Định lý (xác suất) Bayes. • Học theo MAP và ML. • Các thuật toán học MAP. • Nguyên lý MDL (minimal description length). • Phân lớp Bayes tối ưu. • Học Bayes đơn giản (Naive Bayesian Learning). • Mạng xác suất Bayesian. • Thuật toán EM.

Tại sao dùng phương pháp Bayes?
Giúp tạo ra những thuật toán học hiệu quả (như Naive Bayesian, Bayesian Belief Networks). • Có khả năng kết hợp tri thức tiên nghiệm và dữ liệu quan sát được. • Giúp biểu diễn tri thức không chắc chắn (thể hiện qua độ tin cậy (belief)) và biểu diễn mối quan hệ nhân quả không chắc chắn giữa các sự kiện. • Tận dụng độ tin cậy tiên nghiệm của người dùng.

Định lý (xác suất) Bayes?

Phương pháp lựa chọn giả thuyết

Ý tượng chọn giả thuyết nào có khả năng cao nhất sau khi quan sát dữ liệu. Phương pháp MAP (maximal a posteriori)

Nếu P(hi)=P(hj) thì ta có phương pháp ML:

Ví dụ
Một bệnh nhân nhận được xét nghiệm ung thư là dương tính, hỏi khả năng bị ung thư của anh ta như thế nào? Biết rằng xét nghiệm đưa kết quả dương tính với độ chính xác 98% (true positive), và đưa ra kết quả xét nghiệm âm với độ chính xác 97% (true negative). Xác suất bệnh ung thư trong toàn bộ dân số là 0.08.

P(cancer)=0.08 ; P(!cancer)=0.92; P(+|cancer)=0.98; P(-|cancer)=0.02; P(+|!cancer)=0.03;P(-|!cancer)=0.97. P(cancer|+)=P(+|cancer)*P(cancer)=0.98*0.08=0.0784 P(!cancer|+)=P(+|!cancer)*P(cancer)=0.03*0.08=0.0024 Chuẩn hoá:P(cancer|+)=0.97 ; P(!cancer|+)=0.03

Phương Pháp học MAP vét cạn
1. Đối với mỗi giả thuyết h ∈ H (không gian giả thuyết H), tính xác suất hậu nghiệm (posterior):

2. Đưa ra giả thuyết hMAP với xác suất hậu nghiệm lớn nhất:

Nhận xét chỉ áp dụng được nếu |H| nhỏ.

Liên hệ với học khái niệm
Giả sử cố định tập huấn luyện <x1, x2, ... ,xm>. Giả sử D là tập phân lớp (khái niệm): D=<c(x1), c(x2),..., c(xm)>. Chọn P(D|h) như sau: P(D|h)=1 nếu h nhất quán với D.

=0 nếu ngược lại Giả sử xác suất chọn giả thuyết h là đều: P(h)=1/| H| ta có:

Liên hệ với bài toán hồi quy

Xấp xỉ hàm f dựa trên tập huấn luyện <xi,di> trong đó di=f(xi)+ei với ei (nhiễu dữ liệu) là biến ngẫu nhiên theo phân bố Gauss với mean=0. Giả thuyết h cực tiểu hoá lỗi bậc 2 chính là hML

Liên hệ với bài toán hồi quy

Nguyên Lý MDL
Ockham's razor: ưu tiên giả thuyết ngắn, đơn giản. Nguyên lý MDL chọn giả thuyết nào tối thiểu hoá:

Trong đó LC(x) là độ dài mô tả của x trong hệ mã C. Ví dụ: H=tập các cây quyết định; D=tập nhãn dữ liệu huấn luyện. LC1(h) = số lượng bit để biểu diễn cây h. LC2(D|h) số lượng bit mô tả D khi có h. LC2(D|h)=0 nếu D được phân lớp chính xác bởi h. hMDL đánh giá cây quyết định dựa trên độ chính xác + độ phức tạp lưu trữ của cây.

Nguyên Lý MDL

Độ dài mã nén tối ưu (theo thuyết thông tin) của một sự kiện có xác suất p là -log2p bit do đó từ 1: • -Log2P(h)= độ dài mã nén tối ưu của h. • -Log2P(D|h) = độ dài mã nén tối ưu của D khi có h. Do đó (1) → ưu tiên giả thuyết h đạt cực tiểu hoá: Length(h)+Length(misclassifications)

Phân lớp mẫu mới
hMAP cho ta giả thuyết khả dĩ nhất trên tập dữ liệu D cho trước. Câu hỏi: nếu có một mẫu mới x, thì x có khả năng cao nhất được phân vào lớp nào? - không phải lúc nào hMAP(x) không phải là câu trả lời! Ví dụ: có 3 giả thuyết

Với x ta có:

Phân lớp Bayes tối ưu

Ví dụ:

Phân lớp Gibbs
Phân lớp Bayes tối ưu tuy lựa chọn phân lớp tối ưu nhưng đòi hỏi quá trình tính toán phức tạp. Phương pháp Gibbs: 1. Chọn giả thuyết h ngẫu nhiên theo P(h|D). 2. Dùng giả thuyết h để phân lớp x. Kết quả lý thuyết:

Thuật toán Phân lớp Bayes đơn giản
• Một trong những thuật toán hữu dụng và thông dụng của Machine Learning (như cây quyết định, mạng Neural, ...). Thường được dùng trong các trường hợp: • Có tập huấn luyện lớn (dư thừa dữ liệu huấn luyện). • Các thuộc tính của bộ dữ liệu độc lập nhau (trong việc phân lớp). Đã được ứng dụng thành công trong: • Chuẩn đoán. • Phân loại văn bản.

Thuật toán Phân lớp Bayes đơn giản
Giả sử f: X→V bộ dữ liệu x được xác định bởi bộ thuộc tính-giá trị (a1, a2, ... , an) giá trị phân lớp khả dĩ nhất:

giả định của NB:

Thuật toán Phân lớp Bayes đơn giản

Thuật toán Phân lớp Bayes đơn giản
Ví dụ: quyết định chơi Tenis:

Thuật toán Phân lớp Bayes đơn giản
Tình huống giá trị phân lớp vj không có ai nào, dẫn tới:

Giải pháp: Trong đó: • n - số lượng mẫu có giá trị phân lớp vj • nc số lượng mẫu có v=vj và a=ai • p là ước lượng tiên nghiệm cho • m là trọng số

Thuật toán Phân lớp Bayes đơn giản
Ứng dụng phân loại văn bản: (là một trong những thuật toán hiệu quả nhất, bên cạnh SVM). 1. Biểu diễn mỗi tài liệu dưới dạng vector các từ, mỗi thuộc tính là một từ tại một vị trí của tài liệu. 2. Học: Dùng các mẫu huấn luyện để xác định: P(+),P(-), P(doc|+), P(doc|-) Giả thiết của NB: Trong đó P(ai=wk|vj) là xác suất để từ ở vị trí i là wk đối với lớp vj và giả thiết thêm:

Thuật toán Phân lớp Bayes đơn giản

Thuật toán Phân lớp Bayes đơn giản

MẠNG BAYESIAN
• Thuật toán NB giả thiết tất cả các thuộc tính độc lập nhau → không gần với thực tế (nhưng giảm lượng tính toán đáng kể). • Không thể tính được xác suất kết hợp của các thuộc tính trong thực tế → phải đơn giản hoá. • Mạng Bayesian đưa ra giả thiết phức tạp hơn (gần thực tế hơn) so với NB nhưng không làm quá trình tính toán trở nên bất khả thi, bằng cách đưa ra giả thiết về độc lập có điều kiện giữa các nhóm thuộc tính.

MẠNG BAYESIAN
Độc lập có điều kiện: X được gọi là độc lập có điều kiện với Y qua Z nếu: hay: Ví dụ: Thunder độc lập có điều kiện với Rain thông qua Lighting Chú ý: (NB)

MẠNG BAYESIAN

• Đồ thị có hướng phi chu trình. • Mỗi node độc lập có điều kiện với các node không phải là node đến được từ nó thông qua node cha của nó.

MẠNG BAYESIAN

Biểu diễn phân bố xác suất hợp của tất cả các biến:

MẠNG BAYESIAN
Suy diễn trong mạng Bayesian: Làm thế nào suy ra giá trị của các biến khi biết giá trị các biến khác? • Mạng Bayesian có đầy đủ thông tin cho suy diễn. • Có thể dễ dàng suy diễn giá trị của 1 biến chưa biết dựa trên giá trị các biến khác. • Bài toán suy diễn tổng quát là NP-khó. Trong thực tế: • Suy diễn trực tiếp (chính xác) có thể OK trên một số cấu trúc mạng. • Giải xấp xỉ (ví dụ dùng Monte Carlo).

MẠNG BAYESIAN

Học trong mạng Bayesian: • Cấu trúc mạng biết, hoặc không biết. • Các mẫu cung cấp đủ giá trị (Fully Observable) các biến hoặc không (Partially Observable). Nếu cấu trúc mạng biết, các giá trị các biến được cung cấp đầy đủ qua mẫu thì có thể tiến hành học giống như đối với NB.

MẠNG BAYESIAN
Học trong mạng Bayesian: Trường hợp cấu trúc mạng biết, và Partially Observable. Ví dụ: biết ForrestFire, Storm, BusTourGroup, Thunder, nhưng không biết Lighting, Camfire. Phương pháp học tương tự như đối với tầng ẩn trong mạng Neural: Học các xác suất có điều kiện qua phương pháp Grandient Ascent, tìm cực đại địa phương (theo h) cho P(D|h).

MẠNG BAYESIAN
Học trong mạng Bayesian:

MẠNG BAYESIAN

Học trong mạng Bayesian: Các vấn đề nâng cao • Học cấu trúc mạng. • Biến có giá trị thực (thay vì Boolean). • Xử dụng các hàm phân bố xác suất có tham số thay vì xác suất dạng bảng. • Các thuật toán suy diễn, học mới hiệu quả hơn...

THUẬT TOÁN EM
Phương pháp EM (Expectation Maximization) được dùng khi: • Dữ liệu quan sát được một phần (Partially Observable). • Dùng trong Unsupervised Learning (clustering). • Dùng trong Supervised Learning mà có một số thuộc tính chỉ quan sát được một phần. Ví dụ: • Dùng để huấn luyện mạng Bayesian. • Dùng để huấn luyện mô hình Markov ẩn.

THUẬT TOÁN EM

Mỗi cá thể dữ liệu được sinh bởi: 2. Lựa chon ngẫu nhiên một trong k phân bố Gauss. 3. Sinh ra giá trị của biến bằng phân bố Gauss được chọn.

THUẬT TOÁN EM – Xác Định k means
Cho bộ dữ liệu X được sinh bởi k phân bố Gauss. Các kỳ vọng của k phân bố này <µ1, µ2,..., µk> là chưa biết. Không rõ bộ dữ liệu xi được sinh bởi phân bố Gauss nào. Yêu cầu: Ước lượng ML (maximal likelihood) cho µ1, µ2,..., µk Mỗi cá thể có thể xem như yi=<xi,zi1,zi2> trong đó zij =1 nếu xi được sinh bởi phân bố Gauss j. xi là quan sát đuợc zij là không quan sát được.

THUẬT TOÁN EM – Xác Định k means

THUẬT TOÁN EM – Xác Định k means

Thuật toán EM cực đại địa phương h là ước lượng ML cho zij Cực đại của E[ln P(Y|h)] trong đó: • Y là toàn bộ dữ liệu (quan sát được và không quan sát được). • Toán tử kỳ vọng lấy trên tất cả các giá trị của các biến không quan sát được trong Y.

THUẬT TOÁN EM TỔNG QUÁT

THUẬT TOÁN EM TỔNG QUÁT

Giới Thiệu Phần mềm
Thuật toán NB cho phân loại tài liệu:

http://www.cs.cmu.edu/afs/cs/project/theo-11/www/naive-bay . Mạng Bayesian (cài đặt trong JAVA): http://www.cs.cmu.edu/%7Ejavabayes/Home/index.html WEKA: http://www.cs.waikato.ac.nz/ml/weka/ Một số phần mềm đi kèm sách

ĐỌC THÊM
Mạng Bayesian: + K.B. Korb and A.E. Nicholson, Bayesian Artificial Intelligence, Chapman & Hall/CRC, 2004. + S. Russell & P. Norvig, Artificial Intelligence: A Modern Approach, Prentice Hall, 2003 (chương 14). Chuyên sâu: + M. Jordan, Learning in Graphical Models, MIT, 1999. Kinh điển: + J. Pearl, Probabilistic Reasoning in Intelligent Systems, MorganKaufmann, 1988. + R.E. Neapolitan, Probabilistic Reasoning in Expert Systems, Wiley & Sons, 1990. + F.V. Jensen, An Introduction to Bayesian Networks, SpringerVerlag, 1996.

ÔN TẬP
1. 2. 3. 4. 5. Nêu định lý Bayes. Trình bày Phương pháp học MAP và ML. Trình bày nguyên lý MDL và ý nghĩa của nó? Trình bày phương pháp phân lớp tối ưu Bayes. Cài đặt và ứng dụng thuật toán học Bayes đơn giản (NB). 6. Cài đặt và ứng dụng mạng Bayesian. 7. Trình bày nội dung phương pháp học EM.

Sign up to vote on this title
UsefulNot useful

Master Your Semester with Scribd & The New York Times

Special offer: Get 4 months of Scribd and The New York Times for just $1.87 per week!

Master Your Semester with a Special Offer from Scribd & The New York Times