Máy học và mạng neural (Machine Learning and Neural Network)
Giảng viên: TS. Vũ Đức Lung Email: lungvd@uit.edu.vn
1
Bài 01 – Tổng quan về học máy
Vai trò của học máy trong trí tuệ nhân tạo. Học máy là gì? Ứng dụng của học máy. Các lĩnh vực liên quan đến học máy. Các bước của học máy. Các vấn đề cơ bản trong học máy. Ví dụ về thuật toán học máy. Cách tiếp cận của khoá học
Những vấn đề cốt lõi của TTNT
Biểu diễn (representation). Lập luận (reasoning).
• • • Học (learning). • Tương tác (interaction).
Là một nhánh của trí tuệ nhân tạo Liên quan đến việc phát triển các kĩ thuật cho phép các máy
tính có thể “học”
Ở VN nằm trong môn học TTNT nâng cao Trên thế giới là một môn học hoặc nhiều môn học riêng và
được chú trọng giảng dạy ở bậc ĐH&SĐH
4
Tổng quan về học máy
Con người học như thế nào? – Nhớ và làm lại (học vẹt). – Học nhờ quan sát và khái quát hoá (học hiểu). Các định nghĩa về Học máy (Machine learning)
– Học là sự thay đổi thích ứng trong hệ thống giúp cho hệ thống có thể xử lý vấn đề ngày càng hiệu quả hơn khi gặp lại những tình huống tương tự [Simon, 1983]
– Một quá trình mà một chương trình máy tính cải thiện hiệu suất của nó
trong một công việc thông qua kinh nghiệm [Mitchell, 1997]
(Học máy = Cải thiện hiệu quả một công việc thông qua kinh nghiệm) – Việc lập trình các máy tính để tối ưu hóa một tiêu chí hiệu suất dựa trên các dữ liệu ví dụ hoặc kinh nghiệm trong quá khứ [Alpaydin, 2004]
5
Học máy là gì?
Học là cần thiết trong những môi trường chưa quen thuộc, Học là một phương pháp hữu hiệu để xây dựng hệ thống Học là cách để các chương trình thông minh có thể hiệu chỉnh
hành vi để tăng hiệu quả giải quyết vấn đề.
Học khi nào:
– Tri thức con người chưa đủ (VD Trên sao hỏa), – Con người không đủ khả năng giải thích(nhận dạng giọng nói) – Lời giải thay đổi theo thời gian (routing on a computer network) – Lời giải cần thích nghi trong từng trường hợp cụ thể (sinh vật học)
Học làm gì?khi nào học?
Ứng dụng của học máy
xây dựng ngày càng đầy đủ.
Dữ liệu ngày càng nhiều và dư thừa nhưng tri thức cần thì
thiếu.
Sức mạnh tính toán của máy tính được nâng cao. Nhiều ngành khoa học mới nảy nở (VD Bioinformatics)
Hiện học máy được ứng dụng trên nhiều lĩnh vực do: Một loạt các thuật toán học máy ra đời. Cơ sở lý thuyết được
Khai phá dữ liệu (Data Mining) Máy truy tìm dữ liệu (search engines) Chẩn đoán y khoa (medical diagnosis) Phát hiện thẻ tín dụng giả (Banking bảo mật thông tin), Phân tích thị trường chứng khoán, thị trường tài chính (stock
market analysis)
Phân loại các chuỗi DNA (bioinformatics ) Nhận dạng tiếng nói và chữ viết, dịch tự động, (speech and handwriting recognition, natural language processing)
Chơi trò chơi (game playing) Chơi và cử động rô-bốt (robot locomotion).
8
Ứng dụng của học máy
Inductive Concept Learning. Decision Trees. Artificial Neural Networks. Bayesian Networks. Support Vector Machines. Learning Markov Processes. Instance-Based (Lazy) Learning. Learning by Explanation. Learning by Reinforcement. Heuristic Learning (GAs, GP, ...). Rule Induction.
........
Các phương pháp học máy
Các Lĩnh Vực Liên Quan
Artificial intelligence Computational complexity theory Bayesian methods Control theory Information theory Philosophy Psycholopy and neurobiology Statistics ….
11
Quy trình học máy
12
Các loại thuật toán Học máy
Học nửa giám sát : kết hợp các ví dụ có gắn nhãn và không gắn nhãn để sinh một hàm hoặc một bộ phân loại thích hợp.
Học tăng cường : trong đó, thuật toán học một chính sách hành động tùy theo các quan sát về thế giới. Mỗi hành động đều có tác động tới môi trường, và môi trường cung cấp thông tin phản hồi để hướng dẫn cho thuật toán của quá trình học.
13
Các loại thuật toán Học máy (tiếp)
Chuyển đổi: tương tự học có giám sát nhưng không xây dựng hàm một cách rõ ràng. Thay vì thế, cố gắng đoán kết quả mới dựa vào các dữ liệu huấn luyện, kết quả huấn luyện, và dữ liệu thử nghiệm có sẵn trong quá trình huấn luyện.
Học cách học: trong đó thuật toán học thiên kiến quy nạp của
chính mình, dựa theo các kinh nghiệm đã gặp.
14
Các loại thuật toán Học máy (tiếp)
Các bước trong học máy
Ví dụ: Xây dựng chương trình chơi cờ tướng thông minh.
T: chơi cờ tướng (người-máy, máy-máy). P: số phần trăm ván thắng khi chơi với các kiện tướng quốc gia. E: Kinh nghiệm từ những ván tự chơi (máy-máy) và chơi với người.
1. Phát biểu bài toán: [Tom Mitchell, 1997] Học = Cải thiện khả năng thực hiện nhiệm vụ T của hệ thống dựa trên kinh nghiệm E với độ đo chất lượng thực hiện nhiệm vụ P.
Các bước trong học máy
quốc gia.
T: chơi cờ tướng (người-máy, máy-máy). P: số phần trăm ván thắng khi chơi với các kiện tướng
Thu thập kinh nghiệm (dữ liệu) E ở đâu? Như thế nào? Đâu là thành phần cần học trong chương trình? Biểu diễn thành phần đó như thế nào? Dùng thuật toán gì để học?
Vấn đề: – – – – –
Các bước trong học máy
được chứa ngay trong các ví dụ học (Phản hồi trực tiếp) hay được cung cấp gián tiếp (có trễ, ví dụ từ môi trường hoạt động hay trong quá trình hoạt động, ví dụ trong spam, nhận dạng giọng nói, nhận dạng chữ viết, nhận dạng ảnh vân tay,…)? Các dữ liệu học theo kiểu có giám sát hay không có giám sát?
(có đầu ra lý tưởng không?).
Dữ liệu có mang tính đại diện cho hay tương thích với các ví
dụ của hệ thống trong tương lai (future test examples) hay đích của quá trình học không?
2. Xác định kiểu dữ liệu dùng cho huấn luyện: Các thông tin hướng dẫn quá trình học (training feedback)
f: Board → Move.
Các bước trong học máy
tốt nhất có thể đến được từ b thông qua chuỗi nước đi tối ưu.
3. Xác định hàm mục tiêu: Xác định trực tiếp: V: Board → R Ví dụ định nghĩa hàm giá trị như sau: b là trạng thái cuối bàn cờ thắng cuộc: V(b)=100. b là trạng thái cuối bàn cờ thua cuộc: V(b)= -100. b là trạng thái bàn cờ hoà: V(b)=0. Nếu b không phải là trạng thái kết thì V(b)=V(b’). Trong đó b’ là trạng thái kết
Các bước trong học máy
4. Xác định (lựa chọn) cách biểu diễn cho hàm mục
tiêu cần học:
Dạng hàm đa thức (a polynomial function) trên các đặc trưng của bàn cờ? (ví dụ số lượng xe, pháo, mã, tốt, tượng, sỹ).
Mạng Neural nhân tạo (an artificial neural network)? Tập luật (a set of rules)? Cây quyết định (a decision tree)? Biểu thức giải tích tiến hoá (analysis of evolution) từ lập trình
GEN?
Các bước trong học máy
Xác định biểu diễn cho hàm mục tiêu: Ví dụ: Dạng hàm đa thức trên các đặc trưng của bàn cờ? (ví
dụ số lượng xe, pháo, mã, tốt, tượng, sỹ). V’(b) = w0+w1xe+w2ph+w3ma+w4to+w5tu+w6sy
Các bước trong học máy
5. Lựa chọn một giải thuật học máy có thể học (xấp xỉ)
Hàm mục tiêu V(b). Hàm học được V’(b). Vtrain(b): Giá trị đầu ra lý tưởng trong tập mẫu. Ước lượng giá trị đầu ra lý tưởng: Vtrain(b)=V’(Successor(b)).
được hàm mục tiêu:
V(b)=0 + 1rp(b) + 2bp(b) Initial weights: 0=-10, 1 =75, 2 =-60
V(b0)=0 + 1*2 + 2*2 = 20
Example: 4x4 checkers
m1 : bb1 V(b1)=20 m2 : bb2 V(b2)=20 m3 : bb3 V(b3)=20
Example 4x4 checkers
1. Compute error(b0) = Vtrain(b) – V(b0) = V(b1) – V(b0) = 0 2. For each board feature fi, update weight i i + fi error(b)
V(b1)=20 V(b0)=20
0 0 + 0.1 * 1 * 0 1 1 + 0.1 * 2 * 0 2 2 + 0.1 * 2 * 0
Example: 4x4 checkers
V(b2)=20
V(b0)=20 V(b1)=20
V(b3)=20
Example: 4x4 checkers
V(b3)=20
V(b4a)=20 V(b4b)=-55
Example 4x4 checkers
1. Compute error(b3) = Vtrain(b) – V(b3) = V(b4) – V(b3) = -75 2. For each board feature fi, update weight
V(b4)=-55 V(b3)=20
i i + fi error(b) : 0=-10, 1 =75, 2 =-60 0 0 - 0.1 * 1 * 75, 0 = -17.5 1 1 - 0.1 * 2 * 75, 1 = 60 2 2 - 0.1 * 2 * 75, 2 = -75
Example: 4x4 checkers
0 = -17.5 , 1 = 60, 2 = -75
V(b5)=-107.5 V(b4)=-107.5
Example 4x4 checkers
V(b6)=-167.5 V(b5)=-107.5
error(b5) = Vtrain(b) – V(b5) = V(b6) – V(b5) = -60 0=-17.5, 1 =60, 2 =-75 i i + fi error(b) 0 0 - 0.1 * 1 * 60, 0 = -23.5 1 1 - 0.1 * 1 * 60, 1 = 54 2 2 - 0.1 * 2 * 60, 2 = -87
Final board state: black won Vf(b)=-100
Example 4x4 checkers
error(b6) = Vtrain(b) – V(b6) = Vf(b6) – V(b6) = 97.5 0=-23.5, 1 =54, 2 =-87 i i + fi error(b) 0 0 + 0.1 * 1 * 97.5, 0 = –13.75 1 1 + 0.1 * 0 * 97.5, 1 = 54 2 2 + 0.1 * 2 * 97.5, 2 = -67.5
V(b6)=-197.5
Các bước trong học máy
Thuật toán học: Luật cập nhật trọng số LMS: Lặp: Chọn mẫu huấn luyện b ngẫu nhiên. 1. Tính lỗi: Error(b)=Vtrain(b) - V’(b). 2. Đối với mỗi đặc trưng fi của bàn cờ: wi = wi + c . fi . Error(b) Trong đó c là tốc độ học (ví dụ 0.1).
Determine Type of Training Experience
Table of correct moves
Games against experts
Games against self
Determine Target Function
BoardMove
BoardValue
Determine Representation of Learned Function
polynomial
Artificial neural network
Linear function of six features
Determine Learning Algorithm
Gradient descent
Linear programming
Thiết kế các bước lựa chọn
Completed design
Một số vấn đề trong học máy
Khi nào một thuật toán học hoạt động tốt? Số lượng mẫu ảnh hưởng đến chất lượng học như thế
nào?
xử lý nhiễu dữ liệu?
Ảnh hưởng của độ phức tạp của biểu diễn Khả năng
Khả năng tự sửa đổi cấu trúc biểu diễn? Khả năng học được? Sử dụng tri thức sẵn có? Học theo mô phỏng sinh học và tự nhiên?
33
Các vấn đề trong học máy
34
Các vấn đề trong học máy
35
Các vấn đề trong học máy
36
Các vấn đề trong học máy
37
Vấn đề over-fitting
38
Vấn đề over-fitting
39
Vấn đề over-fitting
40
Vấn đề over-fitting – ví dụ
Bài toán lọc SPAM: cho một tập các emails (training
examples) đã được đánh dấu spam/ham, một thuật toán ML sẽ đưa ra một “bộ luật” (prediction rule) mà dùng nó có thể tự động lọc các emails trong tương lai vào spam folder hay inbox.
T, P, E? Các mục tiêu?
– độ chính xác cao (đừng filter email của sếp vào spam folder), – dùng ít tài nguyên tính toán (spam filter chứ có phải VS.NET đâu mà
cần 4GB bộ nhớ và 2 phút để khởi động)
– dùng ít training data (đừng bắt click spam/ham 3 năm liên tục rồi mới
chịu làm việc)
– có tính khái quát cao, tiếng Anh gọi là general-purpose (một thuật toán
có thể dùng cho cả spam filter, web filter trong browser)
– có prediction rule đơn giản
41
Ví dụ học máy
42
Ví dụ học máy
43
Người dùng thích cái gì?
44
Ví dụ học máy
45
Credit scoring
46
Credit scoring
47
Regression
48
Regression
Training examples of a person
Test images
49
Face Recognition
50
Ví dụ học máy
51
Ví dụ học máy
Lựa chọn của khoá học
Tiếp cận thuật toán đối với học máy: Tìm hiểu các thuật toán và mô hình học máy cơ bản
như:
Học khái niệm Cây quyết định, Mạng Neural, Mạng Bayesian, Support Vector Machines, Mô hình Markov ẩn, Giải thuật di truyền ...
UCI Repository: http://www.ics.uci.edu/~mlearn/MLRepository.html UCI KDD Archive:
http://kdd.ics.uci.edu/summary.data.application.html
Statlib: http://lib.stat.cmu.edu/ Delve: http://www.cs.utoronto.ca/~delve/ BSDS500:
http://www.eecs.berkeley.edu/Research/Projects/CS/vision/grouping/segbe nch/
fMRI: http://www.cs.cmu.edu/afs/cs.cmu.edu/project/theo-81/www/
Lecture Notes for E Alpaydın 2004 Introduction to Machine Learning © The MIT Press (V1.1)
Resources: Datasets
Journal of Machine Learning Research www.jmlr.org Machine Learning Neural Computation Neural Networks IEEE Transactions on Neural Networks IEEE Transactions on Pattern Analysis and Machine
Intelligence
Annals of Statistics Journal of the American Statistical Association ...
Lecture Notes for E Alpaydın 2004 Introduction to Machine Learning © The MIT Press (V1.1)
Resources: Journals
International Conference on Machine Learning (ICML)
– ICML05: http://icml.ais.fraunhofer.de/
European Conference on Machine Learning (ECML)
– ECML05: http://ecmlpkdd05.liacc.up.pt/
Neural Information Processing Systems (NIPS)
– NIPS05: http://nips.cc/
Uncertainty in Artificial Intelligence (UAI)
– UAI05: http://www.cs.toronto.edu/uai2005/
Computational Learning Theory (COLT)
– COLT05: http://learningtheory.org/colt2005/
International Joint Conference on Artificial Intelligence (IJCAI)
– IJCAI05: http://ijcai05.csd.abdn.ac.uk/
International Conference on Neural Networks (Europe)
– ICANN05: http://www.ibspan.waw.pl/ICANN-2005/
...
Lecture Notes for E Alpaydın 2004 Introduction to Machine Learning © The MIT Press (V1.1)
Resources: Conferences