Professional Documents
Culture Documents
(MACHINE LEARNING)
Giảng viên: Nguyễn Thị Lan Phương
Khoa Công nghệ thông tin và truyền thông
Tài liệu tham khảo
• Machine Learning cơ bản – Vũ Hữu Tiệp (trang web:
machinelearningcoban.com)
• Introduction to Machine Learning (the second edition) – Ethem
Alpaydin
• Deep Learning cơ bản – Nguyễn Thanh Tuấn
• Mạng nơronvà ứng dụng trong điều khiển tự động – Phạm Hữu
Đức Dục – NXB Khoa học và Kỹ thuật – 2009
Đánh giá học phần: (15 tuần – 30TC)
• Bài tập lớn HỌC MÁY:
❖ SV làm việc nhóm (từ 3 – 5 thành viên)
❖ SV nộp bài làm (bản Word, Slide và sản phẩm (nếu có) vào tuần ...)
❖ SV báo cáo BTL vào tuần ...
• Điểm chuyên cần: Điểm danh hàng tuần, bài kiểm tra giữa kỳ
• Thi cuối kỳ: Tự luận
• Đề tài làm BTL:
❖ Tìm hiểu về các giải thuật HỌC MÁY và cài đặt thí nghiệm một công cụ
liên quan đến một giải thuật cụ thể
❖ (Có thể) Phát triển một đề án thực tế có áp dụng HỌC MÁY
Những vấn đề cốt lõi của TRÍ TUỆ NHÂN TẠO
(AI – Artificial Intelligent)
• TRÍ TUỆ NHÂN TẠO là trí tuệ được
biểu diễn bởi bất kỳ một hệ thống
nhân tạo nào, là một ngành thuộc
lĩnh vực khoa học máy tính, do con
người lập trình tạo nên với mục tiêu
giúp máy tính có thể tự động hóa các
hành vi thông minh như con người.
• Mục tiêu của TTNT là mô phỏng trí
tuệ của con người trong các xử lý mà
con người làm tốt hơn máy tính.
Những vấn đề cốt lõi của TRÍ TUỆ NHÂN TẠO (AI)
• Biểu diễn (representation).
• Lập luận (reasoning).
• Học (learning).
• Tương tác (interaction).
máy tính có được những trí
tuệ của con người: Biết suy
nghĩ, lập luận để giải quyết vấn
đề; Biết giao tiếp do hiểu ngôn
ngữ, tiếng nói; Biết học và tự
thích nghi,….
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 phương pháp và lĩnh vực liên quan đến học máy
• Ví dụ về bài toán học máy
• Cách tiếp cận của khoá học
❑ Quy trình học máy
❑ Phân nhóm các thuật toán học máy
❑ Các thành phần chính của bài toán học máy
❑ Các vấn đề cơ bản trong học máy
Vai trò của HỌC MÁY trong TTNT
• Là một nhánh con của trí tuệ
nhân tạo (1)
• 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” (2)
• Công cụ chính là các thuật toán,
giúp máy tính có thể tự học từ
nguồn dữ liệu cung cấp (3)
HỌC MÁY (MACHINE LEARNING) là gì?
• 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
❖ 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]
là một ngành khoa học nghiên cứu các thuật toán (algorithm) cho phép
máy tính có thể học được các khái niệm (concepts).
Học làm gì? Khi nào học?
❖ Học là cần thiết trong những ❖ Tri thức con người chưa đủ
môi trường chưa quen thuộc. (VD: Trên sao hỏa)
❖ Học là một phương pháp hữu ❖ Con người không đủ khả năng
hiệu để xây dựng hệ thống. giải thích (nhận dạng giọng nói)
❖ Lời giải thay đổi theo thời gian
❖ Học là cách để các chương (Solutions change over time)
trình thông minh có thể hiệu
chỉnh hành vi nhằm tăng hiệu ❖ Lời giải cần thích nghi trong
quả giải quyết vấn đề. từng trường hợp cụ thể (sinh
vật học)
Ứng dụng của HỌC MÁY
❖ 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 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 - Tin sinh học)
Ứng dụng của HỌC MÁY
❖ Có thể phân tích dữ liệu lớn (Big Data) để đưa ra những dự đoán
xu hướng trong tương lai.
(Ví dụ như dự đoán kết quả bầu cử chính trị, dự đoán biến động của thị trường
chứng khoán…)
❖ Áp dụng công nghệ nhận diện hình ảnh nhằm cung cấp dữ liệu cho
các mô hình định giá hoặc mô hình kinh tế.
(Bằng khả năng phân tích dữ liệu từ hệ thống vệ tinh, thuật toán học máy sẽ
tiến hành xử lý và cung cấp những thông tin về số lượng khách hàng tại bãi đậu
xe, các hoạt động vận chuyển, sản lượng sản xuất...)
Các ứng dụng chính:
• 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, tài chính (Stock Market Analysis)
• Phân loại các chuỗi DNA (Bioinformatics) trong y học
• Nhận dạng tiếng nói và chữ viết (Speech and Hand-writing Recognition),
dịch tự động (Xử lý ngôn ngữ tự nhiên - Natural Language Processing)
• Chơi trò chơi (Game Playing)
• Xây dựng và điều khiển (Chơi và cử động ) rô-bốt (Robot Locomotion)
Phân loại HỌC MÁY
Có 2 phương pháp Học máy chính:
• Phương pháp quy nạp: Máy học/phân biệt các khái niệm dựa trên
dữ liệu đã thu thập được trước đó. Phương pháp này cho phép tận
dụng được nguồn dữ liệu rất nhiều và sẵn có.
• Phương pháp suy diễn: Máy học/phân biệt các khái niệm dựa vào
các quy tắc/tập luật. Phương pháp này cho phép tận dụng được các
kiến thức chuyên ngành để hỗ trợ máy tính.
Các phương pháp HỌC MÁY
Cụ thể:
• Cây quyết định (Decision Trees).
• Mạng nơron nhân tạo (Artificial Neural Networks).
• Mạng Bayes (Bayesian Networks).
• Máy vector hỗ trợ (Support Vector Machines).
• Mô hình Markov (Learning Markov Processes).
• Học thông qua giải thích (Learning by Explanation).
• Học củng cố (Learning by Reinforcement).
• Giải thuật di truyền (Heuristic Learning (GAs, GP, ...)).
Các lĩnh vực liên quan đến HỌC MÁY
• Lý thuyết thống kê (Statistics Theory): các kết quả trong xác suất thống kê là
tiền đề cho rất nhiều phương pháp học máy. Đặc biệt, lý thuyết thống kê cho
phép ước lượng sai số của các phương pháp học máy.
• Lý thuyết độ phức tạp tính toán (Computational Complexity Theory): các
thuật toán học máy thường sử dụng các tính toán số thực/số nguyên trên dữ
liệu rất lớn. Trong đó, các bài toán như: tối ưu có/không ràng buộc, giải phương
trình tuyến tính v.v… được sử dụng rất phổ biến.
• Khoa học máy tính (Computer Science): là cơ sở để thiết kế các thuật toán,
đồng thời đánh giá thời gian chạy, bộ nhớ của các thuật toán học máy.
Vai trò của Toán học trong HỌC MÁY
2. Giải tích
3. Số liệu thống kê
4. Xác suất
Vai trò của Toán học trong HỌC MÁY
1. Đại số tuyến tính
❖ Biến đổi tập dữ liệu thành ma trận cho phép thực hiện rất nhiều phép
toán. NumPy là một thư viện được sử dụng trong Học máy thực hiện
một số hoạt động trên mảng Nd.
❖ Các khái niệm cần biết: Vectơ; Khoảng cách vectơ; Vô hướng; Chuẩn hóa;
Phép toán Ma trận; Phép chiếu; ...
Vai trò của Toán học trong HỌC MÁY
2. Giải tích Ví dụ:
Hồi quy tuyến tính là một mô hình tuyến tính thiết lập
❖ Có vai trò đặc biệt quan trọng mối quan hệ giữa một biến phụ thuộc y (Mục tiêu) với
trong nhiều thuật toán học một (nhiều) biến độc lập x (Đầu vào) bằng cách sử dụng
máy như thuật toán làm giảm một đường thẳng phù hợp nhất (gọi là đường hồi quy).
độ dốc và lan truyền ngược để
đào tạo mạng nơ-ron học sâu.
❖ Kiến thức về giải tích giúp tối
ưu hóa hiệu suất của mô hình.
❖ Các khái niệm cần biết: Tính vi
phân và tích phân; Đạo hàm
từng phần; Hàm vectơ - giá trị;
Gradient hướng, Jacobian; ... Mô hình thuật toán này nhằm tìm độ dốc, độ dốc xuống
của đường hồi quy
Vai trò của Toán học trong HỌC MÁY
3. Xác suất
❖ Các sự kiện không chắc chắn
(nhiễu và thiếu dữ liệu liên quan) là
nguyên nhân dẫn đến sự không
hoàn hảo trong mô hình học máy.
giúp dự đoán khả năng xảy ra
các sự kiện trong tương lai trong
học máy.
❖ Các khái niệm cần biết: Xác suất
chung, cận biên và có điều kiện;
Phân phối xác suất (Rời rạc, liên
tục); Ước tính mật độ; Ước tính
khả năng tối đa; Định lý Bayes, ...
Vai trò của Toán học trong HỌC MÁY
3. Xác suất
Vai trò của Toán học trong HỌC MÁY
4. Số liệu thống kê
❖ Được sử dụng để rút ra kết luận
logic từ các dữ liệu đã cho, giúp trả
lời các câu hỏi như:
Sản phẩm nào được bán cao nhất vào
bất kỳ tháng cụ thể nào?
Ai ghi được nhiều lần chạy nhất trong
giải đấu cricket?
❖ Các khái niệm thống kê cần biết:
Phân phối; Xu hướng trung tâm; Độ
nghiêng; Hệ số tương quan tuyến
tính; Định lý giới hạn trung tâm,
Kiểm định giả thuyết, ...
Cách biểu diễn một bài toán HỌC MÁY
Theo [Michell,1997]:
Học máy = Cải thiện hiệu quả một công việc thông qua kinh nghiệm
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.
Ví dụ bài toán HỌC MÁY (1): Lọc thư rác (Email
spam filtering)
Cho một tập các emails (Training examples) đã được đánh dấu spam, sử dụng
một thuật toán thích hợp 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:
Dự đoán (để lọc) những thư điện tử
nào là thư rác (Spam email)
▪ P:% các thư điện tử gửi đến được phân
loại chính xác
▪ E: Một tập các thư điện tử (Emails) mẫu,
mỗi thư được biểu diễn bằng một tập
các thuộc tính (VD: tập từ khóa) và nhãn
lớp (thư thường/thư rác) tương ứng.
Ví dụ bài toán HỌC MÁY (1): Lọc thư rác
(Email spam filtering)
• Các mục tiêu
− Độ chính xác cao (1)
− Dùng ít tài nguyên tính toán (2)
− Dùng ít dữ liệu huấn luyện (Training data) (3)
− Có tính khái quát cao (General-purpose) (4)
− Có luật học (Prediction rule) đơn giản
Ví dụ bài toán HỌC MÁY (2): Phân loại các
trang Web
Ví dụ bài toán HỌC MÁY (3): Bài toán lọc trang
Web theo sở thích của một người dùng
▪ T:Dự đoán (để lọc) xem những
trang Web nào mà một người
dùng cụ thể thích đọc
▪ P:
Tỷ lệ (%) các trang Web được
dự đoán đúng
Mô hình của thuật toán Tập vector dữ liệu (Tập Tập vector dữ liệu (Tập
học có giám sát: các ví dụ học) các ví dụ thử nghiệm)
Kết quả
Phân nhóm các thuật toán HỌC MÁY
❑ Học có giám sát (Supervised Learning)
• Mỗi ví dụ học gồm 2 phần: biểu diễn (mô tả) của ví dụ học và nhãn lớp
(giá trị đầu ra mong muốn) của ví dụ học đó.
VD: Biểu diễn của ví dụ học: Một tập các câu hỏi
Nhãn lớp của ví dụ học tương ứng: Các câu trả lời đúng
• Bài toán phân lớp (Classiffication):
Tạo ra một hàm ánh xạ dữ liệu vào tới kết quả mong muốn.
?
Dự đoán
?
Phân lớp
Phân nhóm các thuật toán HỌC MÁY
❑ Học có giám sát (Supervised Learning - SL)
Về mặt toán học: Khi có một tập biến đầu vào X = {x1, x2,…, xN} và một tập hợp
nhãn tương ứng Y = {y1, y2,…, yN}, trong đó xi, yi là các vector; xi ∈ Rn là vector mẫu
quan sát gồm n thuộc tính. Các cặp dữ liệu biết trước (xi,yi) ∈ X×Y được gọi là
tập training data (dữ liệu huấn luyện). Từ tập này, cần tạo ra một hàm số để xấp
xỉ tốt nhất (ánh xạ) mỗi phần tử từ tập xi∈X sang một phần tử tương ứng của
tập yi∈Y: yi ≈ f(xi), ∀i = 1, 2,…, N sao cho độ lệch của việc xấp xỉ là nhỏ nhất
Khi có một dữ liệu x mới ( X), ta có thể tính được nhãn tương ứng
của nó theo y = f(x)
Phân nhóm các thuật toán HỌC MÁY
❑ Học có giám sát (Supervised Learning - SL)
VD1: Trong nhận dạng chữ viết tay, ta có ảnh của hàng nghìn chữ số được
viết bởi nhiều người khác nhau. Chúng ta đưa các bức ảnh này vào một mô
hình và dùng một thuật toán phù hợp để chỉ cho nó biết mỗi bức ảnh tương
ứng với chữ số nào. Kết quả thu được là một hàm số mà đầu vào là một bức
ảnh và đầu ra là một chữ số. Khi nhận được một bức ảnh mới mà mô
hình chưa nhìn thấy bao giờ, nó sẽ dự đoán bức ảnh đó chứa chữ số nào.
Phân nhóm các thuật toán HỌC MÁY
❑ Học có giám sát (Supervised Learning - SL)
VD2: Trong nhận dạng khuôn mặt, thuật toán dò tìm các khuôn mặt trong
một bức ảnh đã được Facebook sử dụng để chỉ ra các khuôn mặt trong một
bức ảnh là ai và yêu cầu người dùng tag friends - tức gán nhãn cho mỗi
khuôn mặt. Số lượng cặp dữ liệu (khuôn mặt, tên người) càng lớn, độ chính
xác ở những lần tự động tag tiếp theo sẽ càng lớn.
Phân nhóm các thuật toán HỌC MÁY
❖ Phân lớp trong Học có giám sát
Một bài toán được gọi là classification nếu các label của input data được chia
thành một số hữu hạn nhóm. Mô hình học máy cần thực hiện một tác vụ phân
lớp, đầu vào x nhận một trong k loại đối tượng được gán nhãn sẵn. Thuật toán
học máy cần tạo ra một hàm xấp xỉ f: Rn ↦ 1, 2,… ,k. Khi đó, mô hình có thể đưa
ra dự đoán về phân lớp đầu ra y = f(x) (là các lớp rời rạc) dựa trên đầu vào.
Phân các loại quả thành 2 loại Phân lớp các thư nhận được là thư
Táo hay Chuối??? rác hay thư thường?
Phân nhóm các thuật toán HỌC MÁY
❖ Hồi quy/Dự đoán trong Học có giám sát
Một bài toán là regression/prediction nếu các label không được chia thành các
nhóm mà là một giá trị thực cụ thể. Mục tiêu của bài toán là dự đoán giá trị của
biến phụ thuộc y (đầu ra) vào giá trị của các thuộc tính độc lập cho trước x (đầu
vào). Thuật toán học máy cần tìm ra một hàm f: Rn → R với nhiệm vụ tương tự
như việc phân lớp ở trên, ngoại trừ sự khác biệt của định dạng của đầu ra (mô
hình hồi quy cho đầu ra là các giá trị dự đoán liên tục).
Phân nhóm các thuật toán HỌC MÁY
❑ Học không có giám sát (Unsupervised Learning - USL)
USL sử dụng một thuật toán để mô tả hoặc trích xuất ra các mối quan hệ
tiềm ẩn trong tập dữ liệu (là các ví dụ học).
Khác với SL, USL chỉ thực thi trên dữ liệu đầu vào mà không cần các
thuộc tính nhãn, hoặc mục tiêu của việc học (Tức là không hề được cung
cấp trước một kiến thức nào trước (Các câu trả lời đúng) trừ dữ liệu (Các
câu hỏi)
Thuật toán học được từ dữ liệu không hề có bất cứ sự “hướng dẫn” nào.
Phân nhóm các thuật toán HỌC MÁY
❑ Học không có giám sát (Unsupervised Learning - USL)
• Về mặt toán học: Mỗi ví dụ học chỉ chứa biểu diễn (mô tả) của ví dụ học
đó (chỉ có dữ liệu vào X) mà không có bất kỳ thông tin nào về nhãn lớp
hay giá trị đầu ra mong muốn Y tương ứng Không biết câu trả lời
chính xác cho mỗi dữ liệu đầu vào.
• Bài toán phân cụm(Clustering):
❑ 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
3. Xác định (lựa chọn) cách biểu diễn cho hàm mục tiêu cần học
Ta có thể lựa chọn sử dụng các quy tắc xác định giá trị theo đặc trưng của từng
thế cờ hoặc chọn dạng hàm đa thức dựa trên các đặc trưng của bàn cờ?
Giả sử chọn hàm đa thức với các đặc trưng là số lượng xe, pháo, mã, tốt,
tượng, sỹ x1, x2, x3, x4, x5, x6). Khi đó V’(b) được xác định một cách đơn giản là
một hàm tuyến tính của các đối số này:
V’(b) = w0+w1xe+w2phao+w3ma+w4tot +w5tuong +w6sy
V’(b) = w0+w1x1 + w2x2 + w3x3 + w4x4 + w5x5 + w6x6
trong đó: w0, w1, ..., w6 là các (hệ số) trọng số cần xác định
Các bước trong HỌC MÁY
3. Xác định (lựa chọn) cách biểu diễn cho hàm mục tiêu cần học
Công việc học bây giờ:
• Nhiệm vụ: T = Chơi cờ
• Độ đo chất lượng thực hiện: P = Tỷ lệ thắng đối thủ
• Kinh nghiệm chơi: E = chơi với chính nó
• Hàm mục tiêu: V(b): B → R
• Biễu diễn hàm mục tiêu: V’(b) = w0 +w1x1+...+w6x6 (Hàm học được)
Các bước trong HỌC MÁY
4. Lựa chọn một giải thuật học máy có thể học (xấp xỉ) được hàm
mục tiêu
• V(b): Hàm mục tiêu
• V’(b): Hàm học được
• Vtrain(b): Giá trị đầu ra lý tưởng trong tập mẫu dữ liệu huấn luyện.
• Vtrain(b) = V’(Successor(b)): Ước lượng giá trị đầu ra lý tưởng của tập mẫu
(Giá trị thực thu được sau mỗi lần học)
Các bước trong HỌC MÁY
4. Lựa chọn một giải thuật học máy có thể học (xấp xỉ) được hàm
mục tiêu
Để xác định V’(b) ta cần tập mẫu dữ liệu huấn luyện: <b, Vtrain(b)>, chẳng hạn khi
x1= 0, x5 = 0 thì quân trắng thắng nên Vtrain(b) = 100 và ta có mẫu huấn luyện:
<(x1= 0, x2= 2, x3= 1, x4= 4, x5= 0, x6= 0), 100>
Các trọng số w ban đầu được khởi tạo một cách thích hợp và được hiệu chỉnh
dần ứng với các mẫu dữ liệu huấn luyện tiếp theo.
Các bước trong HỌC MÁY
4. Lựa chọn một giải thuật học máy có thể học (xấp xỉ) được hàm
mục tiêu
• Ước lượng giá trị đầu ra lý tưởng của quá trình huấn luyện
Nếu b là thế cờ kết thúc thì Vtrain(b) được xác định còn khi b là thế cờ trung gian
thì Vtrain(b) xác định theo quy tắc:
Vtrain(b) = V’ (successor(b))
Điều ta cần là qua quá trình học, giá trị xấp xỉ của Vtrain(b) hội tụ tới giá trị đúng.
Các bước trong HỌC MÁY
4. Lựa chọn một giải thuật học máy có thể học (xấp xỉ) được hàm
mục tiêu
• Hiệu chỉnh trọng số
Cách tiếp cận thường dùng để hiệu chỉnh trọng số là phương pháp bình
phương tối thiểu LMS nhờ cực tiểu sai số:
2
𝐸= 𝑉𝑡𝑟𝑎𝑖𝑛 𝑏 − 𝑉′ 𝑏
𝑏,𝑉𝑡𝑟𝑎𝑖𝑛 𝑏 ∈𝑄
V’(b) = V(b4a) = -10 + 75.2 + (-60).2 = 20 V’(b) = V(b4b) = -10 + 75.1 + (-60).2 = -55
Các bước trong HỌC MÁY
VÍ DỤ: Xét bàn cờ caro 4x4 checkers
Xét lần đi thứ 4 ở trường hợp này:
• Tính toán lỗi Error(b3) = Vtrain(b) – V(b3) = V(b4b) – V(b3) = -55 – 20 = -75
• Với mỗi đặc trưng trên bàn cờ, cập nhật trọng số: wi = wi +.Error(b3).fi
w0 = w0 + .Error(b3).f0 = w0 + 0,1.(-75).1 = -10 + (-7,5) = -17,5
w1 = w1 + .Error(b3).f1 = w1 + 0,1.(-75).2 = 75 + (-15) = 60
w2 = w2 + .Error(b3).f2 = w2 + 0,1.(-75).2 = -60 + (-15) = -75
Các bước trong HỌC MÁY
VÍ DỤ: Xét bàn cờ caro 4x4 checkers
Lần đi thứ 5: Trọng số cập nhật mới: w0 = -17,5; w1 = 60; w2 = -75
• Tính toán lỗi Error(b5) = Vtrain(b) – V(b5) = V(b6) – V(b5) = -167,5 – (-107,5) = -60
• Cập nhật trọng số: wi = wi +.Error(b4).fi
w0 = w0 + .Error(b5).f0 = w0 + 0,1.(-60).1 = -23,5
w1 = w1 + .Error(b5).f1 = w1 + 0,1.(-60).1 = 54
w2 = w2 + .Error(b5).f2 = w2 + 0,1.(-60).2 = -87
Các bước trong HỌC MÁY
VÍ DỤ: Xét bàn cờ caro 4x4 checkers
Trạng thái kết của bàn cờ: quân đen thắng với Vf(b6) = -100
V(b6) = -197,5
Trọng số cập nhật: w0 = -23,5; w1 = 54; w2 = -87
• Tính toán lỗi Error(b6) = Vtrain(b) – V(b6) = Vf(b6) – V(b6) = -100 – (-197,5) = 97,5
• Cập nhật trọng số: wi = wi +.Error(b4).fi
w0 = w0 + .Error(b5).f0 = w0 + 0,1.97,5.1 = -13,75
w1 = w1 + .Error(b5).f1 = w1 + 0,1.97,5.0 = 54
w2 = w2 + .Error(b5).f2 = w2 + 0,1.97,5.2 = -67,5
Các bước trong HỌC MÁY
6. Thiết kế các bước
trong hệ học máy chơi cờ
• Modun 1: Lấy input là thế cờ
được tạo ra và dùng hàm đích
để xác định nước đi tiếp qua
đánh giá V’ (4)
• Modun 2: thông qua kinh
nghiệm theo dõi toàn bộ các (3)
ván chơi để ước lượng Vtrain (1)
cho toàn bộ các mẫu DL
• Modun 3: Dùng các mẫu DL
huấn luyện, đưa ra ước lượng (2)
tham số của hàm đích V’
• Modun 4: Tạo ra thế cờ mới
bắt đầu cuộc chơi theo yêu
cầu nào đó.
Các bước trong HỌC MÁY
❑ E cóđại diện hay tương thích với các dữ liệu sau này được dùng trong dự báo
của hệ thống hay không hay sẽ là đích của quá trình học?
Các bước trong HỌC MÁY
2. Xác định hàm mục tiêu:
Hàm mục tiêu có thể là độ lệch về lượng mưa hay độ lệch về thông tin thời
tiết mà ta muốn dự đoán (nhiệt độ, độ ẩm...).
3. Xác định mô hình
Lựa chọn một mô hình để biểu diễn hàm mục tiêu cần học. Giả sử chọn
một mô hình tuyến tính, chúng ta cần tìm các trọng số, nhân mỗi biến số với
trọng số của nó, và cộng tổng tất cả để ra được kết quả cuối cùng là dự đoán
thời tiết:
Thời tiết = (w1*nhiệt độ + w2*độ ẩm + w3*lượng mưa)
Các biến số: nhiệt độ, độ ẩm, lượng mưa
Các trọng số: w1, w2,w3
Các bước trong HỌC MÁY
4. Thuật toán tối ưu
Lựa chọn một giải thuật học máy có thể xấp xỉ được hàm mục tiêu
Để xác định V’(b) ta cần tập mẫu dữ liệu huấn luyện <b, Vtrain(b)> với:
b = <biểu hiện thời tiết quan sát được: nhiệt độ, độ ẩm, lượng mưa>
Vtrain(b) = <dự đoán thời tiết tương ứng: nắng, mưa, bão, lũ...>
Hàm mục tiêu có thể được tính qua dải các giá trị sau:
• w1 = 0.5; w2 = -1.2; w3 = -0.75
• w1 = 1.05; w2 = 1.2; w3 = 1.08
• w1 = 1.04; w2 = -1.19; w3 = 1.3
w1, w2 là các trọng số thay đổi sau mỗi lần học. Với mỗi tập các trọng số, ta có thể
tính lại được hàm mục tiêu; sau đó chọn mô hình với khả năng dự đoán cao nhất với
một hàm mục tiêu tối ưu.
Các bước trong HỌC MÁY
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.
Ví dụ 3: Xây dựng mô hình Dự báo thời tiết.
• T: Mô hình dự báo thời tiết cho những ngày sắp tới dựa trên thông tin khí
tượng học từ những ngày trước đó
• P: Tỷ lệ % dự báo đúng.
• E: Một tập các thông tin liên quan khí tượng học ( những biểu hiện thời tiết
quan sát được như: nhiệt độ, độ ẩm, áp suất, lượng mưa,...) đã được xác định
trước đó.
Các bước trong HỌC MÁY
1. Xác định kiểu dữ liệu dùng cho huấn luyện:
❑ Dữliệu E (các thông tin về Nhiệt độ, Độ ẩm, Lượng mưa,… của những ngày
trước đó (đã được thu thập và tiền xử lý như thế nào?)
❑ Dữ liệu đó sẽ được huấn luyện (học) theo kiểu nào?
❑ E cóđại diện hay tương thích với các dữ liệu sau này được dùng trong dự báo
của hệ thống hay không hay sẽ là đích của quá trình học?
Các bước trong HỌC MÁY
2. Xác định hàm mục tiêu:
Hàm mục tiêu có thể là độ lệch về lượng mưa hay độ lệch về thông tin thời tiết
mà ta muốn dự đoán (nhiệt độ, độ ẩm...).
3. Xác định mô hình
Lựa chọn một mô hình để biểu diễn hàm mục tiêu cần học. Giả sử chọn một
mô hình tuyến tính, chúng ta cần tìm các trọng số, nhân mỗi biến số với trọng
số của nó và cộng tổng tất cả để ra được kết quả cuối cùng là dự đoán thời tiết:
Thời tiết = (w1*nhiệt độ + w2*độ ẩm + w3*lượng mưa)
Các biến số: nhiệt độ, độ ẩm, lượng mưa
Các trọng số: w1, w2,w3
Các bước trong HỌC MÁY
4. Thuật toán tối ưu
Lựa chọn một giải thuật học máy có thể xấp xỉ được hàm mục tiêu
Để xác định V’(b) ta cần tập mẫu dữ liệu huấn luyện: <b, Vtrain(b)> với:
b = <biểu hiện thời tiết quan sát được: nhiệt độ, độ ẩm, lượng mưa>
Vtrain(b) = <dự đoán thời tiết tương ứng: nắng, mưa, bão, lũ...>
Hàm mục tiêu có thể được tính qua dải các giá trị sau:
• w1 = 0.5; w2 = -1.2; w3 = -0.75
• w1 = 1.05; w2 = 1.2; w3 = 1.08
• w1 = 1.04; w2 = -1.19; w3 = 1.3
w1, w2 là các trọng số thay đổi sau mỗi lần học. Với mỗi tập các trọng số, ta có thể tính lại
được hàm mục tiêu; sau đó chọn mô hình với khả năng dự đoán cao nhất với một hàm mục
tiêu tối ưu.
Các vấn đề cơ bản của HỌC MÁY
Khi xây dựng một mô hình cũng như đưa ra một thuật toán học máy,
người ta quan tâm đến: Liệu thuật toán đó có hoạt động tốt hay không
(thời điểm); Số lượng mẫu học ảnh hưởng thế nào tới chất lượng học;
Độ phức tạp của biểu diễn khả năng xử lý nhiều dữ liệu sẽ ảnh hưởng
đến hệ thống ra sao; Khả năng tự sửa đổi cấu trúc biểu diễn có đáp ứng
tốt không (Mức độ học được, khả năng sử dụng các tri thức có sẵn hay
hệ thống sẽ học theo phương pháp nào)…
Các vấn đề cơ bản của HỌC MÁY
❑ Giải thuật học máy (Learning Algorithm)
❑ Ví dụ học máy (Training Examples)
❑ Quá trình học máy như thế nào (Learning Process)
❑ Khả năng và giới hạn học (Learing Capability)
❑ Vấn đề Over - fitting (Hiện tượng quá khớp)
Các vấn đề cơ bản của HỌC MÁY
❑ Giải thuật học máy (Learning Algorithm)
• Những giải thuật học máy nào có thể học (xấp xỉ) một hàm mục tiêu cần
học?
• Với những điều kiện nào, một giải thuật học máy đã chọn sẽ hội tụ (tiệm
cận) hàm mục tiêu cần học?
• Đối với một lĩnh vực bài toán cụ thể và đối với một cách biểu diễn các ví
dụ (đối tượng) cụ thể, giải thuật học máy nào thực hiện tốt nhất?
Các vấn đề cơ bản của HỌC MÁY
❑ Ví dụ học máy (Training Examples)
• Bao nhiêu ví dụ học là đủ?
• Kích thước của tập học (tập huấn luyện) ảnh hưởng thế nào đối với độ
chính xác của hàm mục tiêu học được?
• Các ví dụ lỗi (nhiễu) và/hoặc các ví dụ thiếu giá trị thuộc tính (Missing -
Value) ảnh hưởng thế nào tới độ chính xác?
Các vấn đề cơ bản của HỌC MÁY
❑ Quá trình học máy (Learning Process)
• Chiến lược nào là tối ưu cho việc lựa chọn thứ tự thực hiện (khai thác)
các ví dụ học?
• Việc lựa chọn các chiến lược này làm thay đổi mức độ phức tạp của bài
toán học máy ra sao?
• Các tri thức cụ thể của bài toán (ngoài các ví dụ học) có đóng góp như
thế nào đối với quá trình học?
Các vấn đề cơ bản của HỌC MÁY
❑ Khả năng và giới hạn học (Learning Capability)
• Hàm mục tiêu nào mà hệ thống cần học?
✓ Thông qua việc lựa chọn hàm mục tiêu, hệ thống biết được khả
năng biểu diễn của hàm (VD: Hàm tuyến tính/hàm phi tuyến) cũng
như độ phức tạp của giải thuật trong quá trình học.
• Các giới hạn (trên lý thuyết) đối với khả năng học của các giải
thuật học máy.
Các vấn đề cơ bản của HỌC MÁY
❑ Khả năng và giới hạn học (Learning Capability)
• Khả năng khái quát hóa (Generalize) của hệ thống từ các ví dụ học
✓ Để tránh vấn đề “Over - fitting” (đạt độ chính xác cao trên tập dữ
liệu học nhưng độ chính xác lại thấp trên tập toàn bộ dữ liệu).
• Khả năng hệ thống tự động thay đổi (thích nghi) cấu trúc bên
trong nó?
✓ Nhằm cải thiện hiệu năng của hệ thống đối với việc biểu diễn và
học hàm mục tiêu.
Các vấn đề cơ bản của HỌC MÁY
❑ Vấn đề Over – fitting (Hiện tượng quá khớp)
• Một hàm mục tiêu học một dữ liệu là h sẽ bị quá khớp với một tập
dữ liệu học nếu tồn tại một hàm mục tiêu khác học dữ liệu là h’
sao cho:
✓h đạt độ chính xác cao (Khớp/Phù hợp) hơn h’ đối với tập dữ liệu
học nhưng lại đạt độ chính xác thấp hơn h’ nếu so với toàn bộ tập
dữ liệu ban đầu(bao gồm cả những dữ liệu được sử dụng sau quá
trình huấn luyện)
• Hiện tượng Over – fitting xảy ra do các nguyên nhân sau:
✓ Lỗi (nhiễu) trong tập dữ liệu huấn luyện (do quá trình thu thập/xây
dựng tập dữ liệu huấn luyện)
✓ Số lượng các ví dụ học quá nhỏ, không đại diện cho toàn bộ tập
(phân bố) các ví dụ của bài toán học
Các vấn đề cơ bản của HỌC MÁY
❑ Vấn đề Over – fitting (Hiện tượng quá khớp)
• Gọi D là tập toàn bộ các ví dụ (dữ liệu) học; D_train là tập các ví dụ (dữ
liệu) học
• Gọi ED(h) là mức lỗi mà giả thiết h sinh ra đối với tập D; ED_train(h) là mức
lỗi mà giả thiết h sinh ra đối với tập D_train
• Giả thiết h quá khớp tập học D_train nếu tồn tại một giả thiết khác là h’,
sao cho:
✓ ED_train(h) < ED_train(h’)
✓ ED(h) > ED(h’)
Các vấn đề cơ bản của HỌC MÁY
❑ Vấn đề Over – fitting (Hiện tượng quá khớp)
• Trong số các giả thiết (hàm mục tiêu) học được (h, h’), giả thiết (hàm
mục tiêu) nào khái quát hóa tốt nhất từ các ví dụ học?
Học máy có thể đạt được độ chính xác cao trong dự đoán đối với
các ví dụ sau này chứ không phải chỉ riêng đối với các ví dụ học.
• Để có thể:
• Khái quát hóa tốt hơn
• Dễ giải thích/diễn giải hơn
• Độ phức tạp tính toán ít hơn
cần ưu tiên chọn hàm mục tiêu đơn giản nhất phù hợp (không nhất
thiết phải hoàn hảo) đối với các ví dụ học.
Các vấn đề cơ bản của HỌC MÁY
Hàm mục tiêu f(x) nào đạt độ chính xác cao nhất đối với các ví dụ sau này?
Các vấn đề cơ bản của HỌC MÁY
Ví dụ vấn đề Over – fitting với phương pháp học máy bằng cây
quyết định:
Tiếp tục quá trình học cây quyết định sẽ làm giảm độ chính xác đối với tập
thử nghiệm mặc dù tăng độ chính xác đối với tập ví dụ học.
Cách biểu diễn dữ liệu
Cách biểu diễn dữ liệu
❑ Đốivới dữ liệu phi cấu trúc
thì phải biểu diễn chúng
bằng dữ liệu có cấu trúc
❑ Biểudiễn dữ liệu bằng mô
hình thông tin không gian –
Vector.
https://papers.nips.cc/paper/95-alvinn-an-autonomous-land-vehicle-in-a-neural-network.pdf
Minh họa ứng dụng của ANN
Minh họa ứng dụng của ANN
Đặc điểm của nơron nhân tạo
❑ Mỗi nơ-ron
❑ Có một đặc tính vào/ra
❑ Thực hiện một tính toán cục bộ (một hàm cục bộ)
❑ Giá trị đầu ra của một nơ-ron được xác định bởi
❑ Đặc tính vào/ra của nó
❑ Các liên kết của nó với các nơ-ron khác
❑ (Có thể) các đầu vào bổ sung
Mô hình của một nơron nhân tạo
Mô hình của một nơron nhân tạo
Là mô hình toán học (dùng toán logic) đầu tiên do McCulloch Pitts đề xuất vào năm
1943, gồm các đặc trưng sau:
❑ Tập các tín hiệu đầu vào của nơron xi (i=1…m). Mỗi tín hiệu đầu vào xi gắn với một trọng số wi
❑ Tập các trọng số liên kết wi (i=1…m)
− Mỗi liên kết giữa tín hiệu vào với nơron hay giữa các nơron với nhau đều được thể hiện bằng
một trọng số (nó cho biết cường độ tác động của tín hiệu vào (giữa nơron này tới nơron
khác) là mạnh hay yếu)
− wi được khởi tạo ngẫu nhiên ở thời điểm ban đầu của mạng và được cập nhật liên tục trong
suốt quá trình huấn luyện mạng
❑ Trọng số điều chỉnh (Ngưỡng (bias)) b. Ứng với x0 = 1 ta sẽ có b = w0
❑ Một mức kích hoạt Net(x,w) : hàm tổng hợp của các tín hiệu đầu vào với trọng số tương ứng
❑ Hàm chuyển đổi (Hàm kích hoạt) f(Net(x,w)): biến tín hiệu kích hoạt thành giá trị đầu ra của
nơron
❑ Giá trị đầu ra của nơron y = f(Net(x,w)): là sự trả lời của nơron ứng với tập dữ liệu đưa vào.
Mức kích hoạt và trọng số điều chỉnh
❑ Một cách tổng quát, tín hiệu kích hoạt được xác định bởi một hàm tuyến tính:
❑ Trọng số điều chỉnh b = w0 được đưa vào nhằm nâng cao khả năng phân tách tuyến
tính (của các hàm kích hoạt) các mẫu dữ liệu cung cấp cho mạng:
− Họ các hàm phân tách Net = wixi không thể phân tách được các dữ liệu (các ví dụ
học) thành 2 lớp
− Nhưng khi thêm trọng số điều chỉnh vào thì họ các hàm: Net = wixi + w0 thì có thể.
Các loại hàm truyền
❑ Hàm giới hạn cứng (Hardlimit) ❑ Hàm ngưỡng 1 (Hardlimit and binary
threshold)
f n =Hardlim n = ቊ1 nếu n≥0
0 nếu n<0 f n =Hardlim n, 𝑏 = ቊ1 nếu n≥𝑏
Hàm Hardlimit (Hàm ngưỡng) ánh xạ 0 nếu n<𝑏
giá trị đầu vào bất kỳ (-,+) vào tập b (): giá trị ngưỡng
{0,1} nên thích hợp với bài toán phân
loại.
Các loại hàm truyền
❑ Hàm giới hạn cứng đối xứng (Sign) ❑ Hàm ngưỡng 2 (Hardlimit and
bipolar threshold)
f n =sign n = ቊ 1 nếu n≥0
−1 nếu n<0 f n =sign n,b = ቊ 1 nếu n≥𝑏
Hàm Sign (hàm dấu) ánh xạ giá trị đầu −1 nếu n<𝑏
vào bất kỳ (-,+) vào tập {-1,1} nên b (): giá trị ngưỡng
cũng phù hợp cho các ANNs thực
hiện chức năng phân loại.
Các loại hàm truyền
❑ Hàm truyền tuyến tính (Purelinear)
f n =purelinear n =k.n
k:tham số độ dốc của hàm
Hàm Purelinear trả về giá trị thực bất kỳ
nên thường được sử dụng ở các nơron
trong lớp xuất.
1
f n =logsig n =
1+e−k.(n+b)
Các loại hàm truyền
❑ Hàm sigmoid hai cực (Tansig)
2 1−e−k.n
f n =Tansig n = −1=
1+e−k.n 1+e−k.n
(k: tham số độ dốc của hàm)
Hàm Tansig ánh xạ giá trị đầu vào bất kỳ từ (-,+)
thành các giá trị đầu ra trong khoảng {-1,1}.
2 1−e−k.(n+b)
f n =Tansig n = −1=
1+e−k.(n+b) 1+e−k.(n+b)
Các loại hàm truyền
❑ Theo lý thuyết về xấp xỉ hàm phi tuyến tính, bất kỳ một hàm nào đều có
thể được xấp xỉ với một độ chính xác tùy ý bởi một mạng nơron có 3 lớp
mà các nơron trong lớp xuất dùng hàm tuyến tính, các lớp ẩn còn lại dùng
các hàm truyền sigmoid .
Nơron nhân tạo – Các quy ước ký hiệu
𝐰= 𝟏 𝟐𝐓
𝑏 = 0.05; f: hàm dấu
Vẽ sơ đồ toán học mô tả nơron và xác định tín hiệu đầu ra a?
Ví dụ tính toán trên nơron nhiều đầu vào
2. Cho mô hình nơron như hình vẽ, với:
𝐩 = 𝟐 𝟏 𝟒 𝟎. 𝟓 𝟏𝟎 𝐓
𝐰 = 𝟎. 𝟑 𝟎. 𝟓 𝟎. 𝟐 𝟎. 𝟏 𝟎. 𝟖 𝐓
𝑏 = 0.2
f: logsig (k = 1.5)
f: purelin (k = 0.5)
Xác định a?
Kiến trúc mạng ANNs
❑ ANNs là một hệ thống gồm nhiều nơron đơn lẻ kết nối với nhau
để thực hiện một chức năng tính toán cụ thể.
❑ Tính năng của mạng phụ thuộc vào: Kiến trúc, các trọng số kết
nối và quá trình tính toán tại từng nơron đơn lẻ (Hàm truyền)
❑ Mạng nơ-ron có thể học từ dữ liệu mẫu và tổng quát hóa dựa
trên các mẫu đã học (mạng có khả năng nhớ)
Kiến trúc mạng ANNs
❑ Kiến trúc của một ANNs được xác định bởi:
• Số lượng các tín hiệu đầu vào, đầu ra
• Số lượng các lớp và số lượng các nơron trong mỗi lớp
• Số lượng các trọng số liên kết của mỗi nơron
• Cách thức các nơron (trong một lớp hoặc giữa các lớp) liên kết với nhau
• Những nơron nào sẽ nhận các tín hiệu điều chỉnh lỗi (sai số)
❑ Một ANNs phải có:
• Một lớp nơron đầu vào (input layer)
• Một lớp nơron đầu ra (output layer)
• Không, một hoặc nhiều lớp nơron ẩn (hidden layer)
Kiến trúc mạng ANNs
VD: ANN 3 lớp:
• Lớp vào: 3 tín hiệu đầu vào
• Lớp ẩn: 4 nơron
• Lớp ra: 2 giá trị đầu ra
Tổng cộng mạng có 9 nơron
Kiến trúc mạng ANNs
❑ Mỗi lớp (layer) chứa một nhóm các nơron
❑ Lớp ẩn (hidden layer) là lớp nằm giữa lớp đầu vào (input layer) và
lớp đầu ra (output layer)
❑ Mỗi nơron (nút) ở lớp ẩn (hidden node) không tương tác trực tiếp
với môi trường bên ngoài (của mạng nơron)
❑ Một mạng nơron được gọi là liên kết đầy đủ (fully connected) nếu
mọi đầu ra từ một lớp liên kết với mọi nơron (nút) của lớp kế tiếp.
Phân loại mạng ANNs
❑ Dựa theo kiểu kết nối các nơron:
• Mạng truyền thẳng (Feedforward NN):
Kết nối không tạo thành chu trình
• Mạng hồi quy (Recurrent NN): Kết nối tạo
thành chu trình
❑ Dựa theo số lượng nơron:
• Mạng đơn lớp
• Mạng đa lớp: gồm lớp vào, các lớp ẩn và
lớp ra. Lớp vào không tính số lớp.
Không có kết nối trên cùng một lớp.
Không nhảy lớp. Không kết nối từ lớp
dưới lên lớp trên
Phân loại mạng ANNs
❑ Một ANN được gọi là mạng lan truyền thẳng (feed forward network) nếu
không có bất kỳ đầu ra của nơron nào là đầu vào của một nơron khác trong
cùng một lớp (hoặc thuộc một lớp phía trước)
❑ Một ANN được gọi là mạng phản hồi (feedback network) khi các đầu ra của
một nơron liên kết ngược lại làm các đầu vào của một nơron trong cùng lớp
(hoặc thuộc một lớp phía trước)
• Nếu liên kết phản hồi từ đầu ra với các đầu vào đối với các nơron thuộc cùng
một lớp thì đó là phản hồi bên (lateral feedback)
❑ Các mạng nơron phản hồi có các vòng lặp kín thì được gọi là các mạng hồi quy
(recurrent networks)
Phân loại mạng ANNs
Lưu ý: Kí hiệu wij là trọng số kết nối từ nơ-ron thứ j đến nơ-ron (đầu vào) thứ i
Mạng nơron đơn lớp
w𝟏𝟏 w𝟏𝟐 … w𝟏𝐑
w𝟐𝟏 w𝟐𝟐 … w𝟐𝐑
. . .
W= . . . : Ma trận trọng số kết nối
. . .
w𝐒𝟏 w𝐒𝟐 w𝐒𝐑
𝐧𝐢 = 𝐰 ∗ 𝐩 + bi = 𝐰𝐢𝐣 𝐩𝐣 + 𝐛𝐢
𝐣=𝟏
Dạng vector: 𝐧𝐢 = 𝐰 𝐓 𝐩 + 𝐛𝐢
Tín hiệu đầu ra: 𝐚𝐢 = 𝐟 𝐧𝐢
❑ Biểu diễn đầu ra của toàn mạng (dạng vector):
𝐧 = 𝐖𝐩 + 𝐛 → 𝐚 = 𝐟 𝐧
Ví dụ tính toán trên mạng nơron đơn lớp
1. Cho mạng một lớp gồm 2 nơ-ron tuyến tính,
biết: p = [2 1.5 3]T; b = [0.5 0.6]T;
a1 = f n1 = f w1j pj + b1
j=1
a2 = f n2 = f w2j pj + b2
j=1
= purelin p1 w21 + p2 w22 + p3 w23 + b2 = 3,35
Ví dụ tính toán trên mạng nơron đơn lớp
2. Cho mạng một lớp như hình vẽ , với:
𝟓 𝟎. 𝟏 −𝟑 𝟏. 𝟓
p = [1 2 0.2 0.1]T; b = [0.1 0.3 0.5]T; 𝐖 = 𝟎. 𝟏 −𝟏 𝟎. 𝟓 𝟎. 𝟏
𝟎. 𝟔 −𝟐. 𝟓 𝟎. 𝟐 𝟐
a) Xác định số lượng đầu vào và số nơron trên từng lớp trong mạng?
b) Tính tín hiệu đầu ra toàn mạng biết các nơron đều dùng hàm dấu
Mạng nơron đa lớp
❑ Mạng nơ-ron có thể được tổ chức thành nhiều lớp, với ngõ ra của lớp trước là
ngõ vào của lớp sau.
❑ Quá trình tính toán trên mạng được thực hiện lần lượt trên từng lớp.
❑ Tính toán trên mỗi lớp hoàn toàn giống như tính toán trên mạng một lớp.
Ví dụ tính toán trên mạng nơron đa lớp
Cho mạng ANN ba lớp. Tính đầu ra của mạng theo 2 cách, biết:
• Lớp vào: p = [2, 1.5, 3]T;
Với x = [x(1), x(2), …, x(p)]T - véc tơ tín hiệu mẫu đầu vào
Kiểu học có giám sát này cần có tín hiệu đầu ra mong muốn d (là người thầy
hướng dẫn quá trình học) được lấy từ bên ngoài.
Học có tín hiệu củng cố
❑ Trong quá trình học giám sát, giả thiết rằng đáp ứng đầu ra của mạng đã đạt
được giá trị mong muốn. Nhưng ở một mẫu vào - ra nào đó bị cho rằng có kết
quả không đáng tin cậy, và cần phải kiểm tra lại mẫu đó. Trường hợp này chỉ
có một bít tín hiệu của mẫu cần kiểm tra đóng vai trò là tín hiệu củng cố được
đưa vào mạng nhằm khẳng định kết quả quá trình học có giám sát đúng
hay sai.
Đầu vào x ANN y (Đầu ra thực sự)
Với: (i = 1 S)
Luật học PERCEPTRON
❑ Kiến trúc Perceptron:
Hàm truyền thường dùng trong mô hình Perceptron là Sign hoặc Hardlim
Xét với nơron thứ i → Tín hiệu đầu ra tương ứng:
(Tích giữa hàng thứ i của W với đầu vào p) bi Đầu ra là 1, ngược lại là 0
Mỗi nơron chia không gian các đầu vào thành hai miền bởi một siêu phẳng
Luật học PERCEPTRON
❑ Mô hình Perceptron 1 nơron:
Mỗi Perceptron nhận tín hiệu kích hoạt (là một
hàm tuyến tính) n = Wp + b cùng với hàm
truyền là hàm hardlim/sign để chuyển đổi tín
hiệu kích hoạt thành đầu ra (0;1)/(-1;1) 1
Một Perceptron có khả năng phân lớp các vectơ tín hiệu vào bằng cách chia không
gian tín hiệu vào thành 2 miền bởi một siêu phẳng. Mỗi miền cho biết tín hiệu kích
hoạt là 0 hay 0, từ đó xác định giá trị mà hàm truyền nhận được. Không gian
các vectơ tín hiệu vào được phân cách bởi đường thẳng L có dạng: Wp + b = 0.
Độ dốc của L phụ thuộc ma trận trọng số W còn độ dịch chuyển phụ thuộc vào hệ số
điều chỉnh b thông qua việc thay đổi giá trị của 2 đại lượng này.
Luật học PERCEPTRON
VD: Một Perceptron có 2 đầu vào với trọng số tương ứng W11 = -1; W12 = 1; có hệ số
điều chỉnh b = 1 sẽ được phân tách thành 2 miền không gian tín hiệu vào như sau:
Các vectơ tín hiệu vào thuộc miền phía trên, bên trái so với đường phân cách L sẽ
cho tín hiệu kích hoạt n 0, do đó tín hiệu ra a = f(n) = 1. Các vectơ tín hiệu vào phía
dưới, bên phải so với L sẽ cho n 0 và ta thu được f(n) = 0.
Luật học PERCEPTRON
L được gọi là BIÊN QUYẾT ĐỊNH:
• Chọn bias b: Lấy 1 điểm p trên biên thỏa mãn: , giả sử ta tìm được:
1,5
n = 1wTp + b = 2 2 + b = 0 → 3 + b = 0 → b = −3
0
• Test mạng bằng cách đưa p1 vào và tính đầu ra ứng với:
0
a1 = hardlim(1wTp + b) = hardlim 2 2 − 3 = hardlim(−3)=1 ≠ t1
0
Chưa khẳng định Biên quyết định tìm được là sai vì mạng chưa qua quá trình huấn luyện
Luật học PERCEPTRON
CÁCH TÌM BIÊN QUYẾT ĐỊNH (đối với mạng Perceptron 1 nơron 2 đầu vào):
Cho trước p cặp mẫu DL vào – ra trong bộ mẫu: {(x(1), d(1)),…, (x(k), d(k)), …, x(p), d(p))}
với {𝒙 𝟏 = 𝒙𝟏𝟏 𝟏 T
𝒙𝟐 ;𝒙 𝟐 = 𝒙𝟏𝟐 𝟐 T
𝒙𝟐 ;…,𝒙 𝒌 = 𝒙𝟏𝒌 𝒌 T
𝒙𝟐 ;...; 𝒙 𝒑 = 𝒙𝟏𝒑 𝒑 T
𝒙𝟐 }
• Biểu diễn các vector mẫu đầu vào x thành 1 điểm trong KG 2 chiều
• Lập phương trình đường thẳng phân tách tuyến tính các mẫu đầu vào thành 2
miền có đầu ra tương ứng:
𝒅 𝟏 =𝒅 𝟐 =…= 𝒅 𝒌−𝟏 = 𝟎/(−𝟏) và 𝒅 𝒌 =𝒅 𝒌+𝟏 =…= 𝒅 𝒑 = 𝟏/(𝟏)
Biên quyết định có dạng: g(x) = x1 + x2 + w11x1 + w12x2 + b = 0 (*)
Từ (*) có 2 trường hợp:
Luật học PERCEPTRON
CÁCH TÌM BIÊN QUYẾT ĐỊNH (đối với mạng Perceptron 1 nơron 2 đầu vào):
TH1: Perceptron nhận tác động của 2 đầu vào và 1 ngưỡng bias
(*) 1w = [w11 w12]T = [ ]T và b =
ia = hardlim/sign(iwTx + b)
TH2: Perceptron nhận tác động của 2 đầu vào và 1 ngưỡng (bias) nhưng ngưỡng
khi đó được xem như một trọng số w13 ứng với đầu vào thứ 3 nhận giá trị bằng 1
(*) 1w = [w11 w12 w13]T = [ ]T và không còn b nữa
ia = hardlim/sign(iwTx) với x = [x1 x2 1]T
Luật học PERCEPTRON
CÁCH TÌM BIÊN QUYẾT ĐỊNH (đối với mạng Perceptron 1 nơron 2 đầu vào):
(k) (k) (k)
-1
Giả sử có 5 mẫu DL {x , d } với k = 15 và d =
1
Biểu diễn mỗi mẫu DL đầu vào x(k) là một x2 y
x−xA y−yA
hệ tọa độ Đề các: x −x = y −y g x = αx + βy + γ w11x1 + w12x2 + b = 0
B A B A
Tùy thuộc bài toán yêu cầu HL theo cách thức nào thì ta sẽ chọn trường hợp đã xét
tương ứng ở trên.
Luật học PERCEPTRON
❑ Mô hình Perceptron nhiều nơron
• Mỗi nơron sẽ có một biên quyết định và và có thể phân tách
các mẫu đầu vào thành 2 lớp có đầu ra mong muốn là (1 và o)/(-1 và 1)
Perceptron nhiều đầu vào có thể phân thành nhiều lớp thể hiện bởi
vector đầu ra.
• Giá trị của đầu ra là (0, 1) hoặc (-1, 1) phân loại tối đa 2S lớp, S = số lượng
nơron của Perceptron .
Luật học PERCEPTRON
❑ Nội dung luật học Perceptron
• Cho trước p cặp mẫu tín hiệu vào – ra: (x(k), d(k)) với k = 1 p trong tập DL huấn
luyện (training set), luật học Perceptron sẽ đưa ra cách thức để hướng dẫn cho
mạng học nhằm mục đích làm giảm sai số giữa tín hiệu ra thực sự của mạng y(k)
với tín hiệu ra mong muốn d(k) có trong bộ mẫu.
• Định lý hội tụ của Perceptron: “Luật học Perceptron sẽ hội tụ tới một tập các
trọng số để đạt được liên kết mong muốn sau một số bước hữu hạn nếu tồn
tại lời giải”.
Luật học PERCEPTRON
❑ Xây dựng luật học Perceptron
Mạng có 1 nơron Perceptron được HL theo phương pháp Học có giám sát với Q
cặp mẫu tín hiệu vào – ra: . Xét Q = 3:
Thật vậy:
• Đưa vào mạng mẫu DL thứ nhất ở lần HL thứ 2:
1
a4 = a1 = hardlim(1wTp1) = hardlim 3.0 0.2
2
= hardlim 3.4 = 1 = t1 = 1
a5 = a2 = t2 ; a6 = a3 = t3 ; ...
Tín hiệu ra thực của mạng giống với tín hiệu ra mong muốn: a = t. Khi đó, sai
số E = t - a = 0 và vector trọng số không cần cập nhật.
Luật học PERCEPTRON
Theo luật trọng tổng quát: new = wold
1w 1
Khi nơron trong mạng chịu tác động của ngưỡng cần tính thêm:
Luật học PERCEPTRON
❑ Luật học Perceptron đối với mạng nhiều nơron:
Cập nhật hàng thứ i của ma trận trọng số/bias:
Mạng thực hiện bài toán phân loại TÁO/CAM dựa trên 2 cặp mẫu DL
như sau: {x(k) = [hình dáng kết cấu trọng lượng]T; d(k)} với k = 1; 2
1
Loại 1: x(1) = −1 ; d(1) = 0 : CAM
−1
1
Loại 2: x(2) = 1 ; d(2) = 1 : TÁO
−1
Ma trận trọng số/bias khởi tạo ngẫu nhiên: w(0) = w(1) = [0.5 -1 -0.5]T
b(0) = b(1) = 0.5
Luật học PERCEPTRON
❑ VD1 áp dụng luật học Perceptron 1 nơron:
• Lần HL thứ nhất
a(1) = hardlim(w(1)Tx(1) + b(1))
1
= hardlim 0.5 −1 −0.5 −1 + 0.5 = hardlim 2.5 = 1 ≠ d(1) = 0
−1
Sai số: E(1) = d(1) - a(1) = -1 Gia số trọng số: w(1) = .E(1). x(1) = [-1 1 1]T
Gia số bias: b(1) = E(1) = -1
Cập nhật trọng số: w(2) = w(1) + w(1) = [0.5 -1 -0.5]T + [-1 1 1]T = [-0.5 0 0.5]T
Cập nhật bias: b(2) = b(1) + b(1) = 0.5 + (-1) = -0.5
Luật học PERCEPTRON
❑ VD1 áp dụng luật học Perceptron 1 nơron:
• Lần HL thứ nhất
a(2) = hardlim(w(2)Tx(2) + b(2))
1
= hardlim −0.5 0 0.5 1 + (−0.5) = hardlim −1.5 = 0 ≠ d(2) = 1
−1
Sai số: E(2) = d(2) - a(2) = 1 Gia số trọng số: w(2) = .E(2). x(2) = [1 1 -1]T
Gia số bias: b(2) = E(2) = 1
Cập nhật trọng số: w(3) = w(2) + w(2) = [-0.5 0 0.5]T + [1 1 -1]T = [0.5 1 -0.5]T
Cập nhật bias: b(3) = b(2) + b(2) = -0.5 + 1 = 0.5
Luật học PERCEPTRON
❑ VD1 áp dụng luật học Perceptron 1 nơron:
• Lần HL thứ hai:
a(3) = hardlim(w(3)Tx(1) + b(3))
1
= hardlim 0.5 1 −0.5 −1 + 0.5 = hardlim 0.5 = 1 ≠ d(1) = 0
−1
Sai số: E(3) = d(1) - a(3) = -1 Gia số trọng số: w(3) = .E(3). x(1) = [-1 1 1]T
Gia số bias: b(3) = E(3) = -1
Cập nhật trọng số: w(4) = w(3) + w(3) = [0.5 1 -0.5]T + [-1 1 1]T = [-0.5 2 0.5]T
Cập nhật bias: b(4) = b(3) + b(3) = 0.5 + (-1) = -0.5
Luật học PERCEPTRON
❑ VD1 áp dụng luật học Perceptron 1 nơron:
• Lần HL thứ hai:
a(4) = hardlim(w(4)Tx(2) + b(4))
1
= hardlim −0.5 2 0.5 1 + (−0.5) = hardlim 0.5 = 1 = d(2) = 1
−1
Sai số: E(4) = d(2) - a(4) = 0 Gia số trọng số: w(4) = .E(4). x(2) = 0
Gia số bias: b(4) = E(4) = 0
Cập nhật trọng số: w(5) = w(4) + w(4) = [-0.5 2 0.5]T
Cập nhật bias: b(5) = b(4) + b(4) = -0.5
Luật học PERCEPTRON
❑ VD1 áp dụng luật học Perceptron 1 nơron:
• Lần HL thứ ba:
a(5) = hardlim(w(5)Tx(1) + b(5))
1
= hardlim −0.5 2 0.5 −1 + (−0.5) = hardlim −3.5 = 0 = d(1) = 0
−1
Sai số: E(5) = d(1) - a(5) = 0 Gia số trọng số/bias: w(5) = .E(5). x(1) = 0
Gia số bias: b(5) = E(5) = 0
Cập nhật trọng số: w(6) = w(5) + w(5) = [-0.5 2 0.5]T
Cập nhật bias: b(6) = b(5) + b(5) = -0.5
Luật học PERCEPTRON
❑ VD1 áp dụng luật học Perceptron 1 nơron:
• Lần HL thứ ba:
a(6) = hardlim(w(6)Tx(2) + b(6))
1
= hardlim −0.5 2 0.5 1 + (−0.5) = hardlim 0.5 = 0 = d(2) = 0
−1
Sai số: E(6) = d(2) - a(6) = 0 Gia số trọng số/bias: w(6) = 0; b(6) = 0
Cập nhật trọng số: w(7) = w(6) + w(6) = [-0.5 2 0.5]T...
Cập nhật bias: b(7) = b(6) + b(6) = -0.5...
Nhận xét: Từ lần HL thứ 3 trở đi, mạng đã cho kết quả là đầu ra thực a bám được
đầu ra mong muốn trong bộ mẫu học d ( a(7) = a(9) = ... = d(1) ; a(6) = a(8) = ... = d(2))
Quá trình HL mạng thành công: Mạng phân loại được CAM/TÁO
Luật học PERCEPTRON
❑ VD2: Mạng Perceptron 1 nơron được HL bởi bộ mẫu dữ liệu vào – ra sau:
{p(1) = [-2 1]T, d(1) = -1}; {p(2) = [-0.5 3]T, d(2) = -1}
{p(3) = [-1 -2.5]T, d(3) = +1}; {p(4) = [1 2]T, d(4) = +1}
Huấn luyện mạng trên bằng luật học Perceptron để nó có thể phân loại các mẫu dữ
liệu trên thành hai lớp ứng với tín hiệu đầu ra mong muốn d = +1 và d = -1. Cho hệ số
học = 1.
❑ VD3: Cho mạng ANN gồm 1 PE. Mạng được huấn luyện để học từ các cặp mẫu dữ
liệu sau: {x(1) = -1, d(1) = 0}; {x(2) = 0.5, d(2) = 1}; {x(3) = 1, d(3) = 1}; {x(4) = -1, d(4) = 0}. Sử
dụng luật học Perceptron để huấn luyện mạng sao cho nó có thể phân loại các cặp
mẫu dữ liệu trên thành hai lớp tương ứng với d = 1 và d = 0. Biết giá trị trọng số khởi
tạo W(0) = W(1) = [0.5 -2.5]T; hệ số học = 1. Mạng có thể hội tụ được không? Nếu có
thì sau bao nhiêu lần học?
Luật học PERCEPTRON
❑ VD áp dụng luật học Perceptron 1 nơron:
SV có câu hỏi gì không?
❑ Giới hạn của PERCEPTRON:
Luật học Perceptron được chứng minh là hội tụ nếu:
• Các dữ liệu HL là có thể phân tách tuyến tính
• Sử dụng một tốc độ học đủ nhỏ
Và nó sẽ không hội tụ nếu bộ mẫu HL không thể phân tách tuyến tính
VD: Một Perceptron không thể phân lớp chính xác đối với tập DL cổng logic XOR
Luật học PERCEPTRON
❑ Giới hạn của PERCEPTRON:
Bảng chân trị của cổng XOR:
Sai số gây ra bởi vector trọng số hiện tại w đối với toàn bộ tập mẫu DL:
1
Ex w = Ex w
D
x∈D
Phương pháp hạ độ dốc sai số – Quy tắc Delta
❑ Hạ độ dốc sai số - Gradient descent
E (Gradient) là một vector: Có hướng chỉ đi lên (độ dốc), tỷ lệ thuận với độ dốc và
cho biết hướng khiến cho giá trị sai số E tăng nhanh nhất:
𝜕E 𝜕E 𝜕E
∇E w = , ,…,
𝜕w1 𝜕w2 𝜕wS
Hướng làm cho sai số giảm nhanh nhất là giá trị phủ định của Gradient của E:
∂E
∆w = −η.∇E w ⇒ ∆wi = −η , ∀i=1,…, S
∂wi
Yêu cầu: Các hàm truyền dùng trong mạng phải là hàm liên tục với trọng số và có
đạo hàm liên tục
Phương pháp hạ độ dốc sai số – Quy tắc Delta
❑ Minh họa Gradient descent ❑ Nhận xét:
Hạ dốc sai số là một mô hình quan trọng cho
việc học của ANN. Việc tìm kiếm thực hiện
trên toàn bộ KG giả thiết (rất lớn hoặc vô
hạn) có thể phải cần hàng ngàn lần lặp đi
lặp lại quá trình học mạng mới hội tụ.
Trường hợp mặt phẳng sai số có nhiều cực
tiểu địa phương thì luật học Delta không
đảm bảo tìm được giá trị nhỏ nhất
Phương pháp hạ độ dốc sai số – Quy tắc Delta
❑ Minh họa Gradient descent
Mạng truyền thẳng nhiều lớp và luật học lan truyền
ngược – Thuật toán BP
❑ Cấu trúc mạng truyền thẳng nhiều lớp
• Tối thiểu 3 lớp gồm: một lớp vào, một lớp ra và
một (hoặc nhiều) lớp ẩn.
• Không có kết nối giữa các nơron trong cùng 1 lớp
• Đầu ra của lớp trước là đầu vào của lớp sau
• Có liên kết đầy đủ giữa nơron các lớp với nhau
• Không có kết nối trực tiếp giữa hai lớp không kề
nhau
Mạng truyền thẳng nhiều lớp và luật học lan truyền
ngược – Thuật toán BP
❑ Một Perceptron chỉ có thể biểu diễn được một hàm phân tách tuyến tính
❑ Một ANNs nhiều lớp (được học bởi giải thuật Lan truyền ngược) có thể biểu diễn một
hàm phân tách phi tuyến tính phức tạp
❑ Luật học Lan truyền ngược được sử dụng để HỌC các TRỌNG SỐ của ANNs nhiều lớp
với yêu cầu:
• ANNs có cấu trúc cố định Số lượng nơron và các liên kết giữa chúng là cố định
• Đối với mỗi nơron thì hàm kích hoạt phải có tính đạo hàm liên tục
❑ Luật học Lan truyền ngược dùng phương pháp Hạ độ dốc sai số - Gradient descent
trong QUY TẮC CẬP NHẬT TRỌNG SỐ nhằm cực tiểu hóa sai số giữa các giá trị đầu ra
thực tế với giá trị đầu ra mong muốn đối với mỗi mẫu DL huấn luyện
Luật học lan truyền ngược
❑ Luật học Lan truyền ngược tìm kiếm một vector các trọng số nhằm cực tiểu hóa sai
số tổng thể của mạng đối với tập DL huấn luyện (Training set)
❑ Gồm 2 pha:
❖ Pha 1 – Lan truyền tiến tín hiệu: Các tín hiệu đầu vào được lan truyến tiến từ lớp
vào qua các lớp ẩn và đến lớp ra để tạo tín hiệu ra thực của mạng
❖ Pha 2 – Lan truyền ngược sai số:
✓ Dựa vào đầu ra mong muốn trong bộ mẫu học, mạng tính toán giá trị sai số
✓ Quá trình lan truyền ngược bắt đầu từ lớp ra: Các giá trị sai số được truyền
ngược từ lớp này về các lớp phía trước cho đến lớp đầu vào. Mỗi lần truyền ngược
sai số về là một lần điều chỉnh và cập nhật trọng số mới cho các nơron ở từng lớp
(Việc truyền ngược này được thực hiện thông qua tính toán từng giá trị Gradient cục
bộ cho mỗi nơron)
Mô hình luật học Lan truyền ngược
Pha 1:
• Kích hoạt (truyền tín hiệu qua) mạng để
tạo tín hiệu đầu ra
Pha 2:
• Tính toán sai số ở lớp ra, các lớp ẩn
• Lan truyền ngược sai số về các lớp trước
Xây dựng luật học Lan truyền ngược
Xét mạng 3 lớp:
▪ Lớp vào: m tín hiệu đầu vào xj (j = 1...m)
▪ Lớp ẩn: l nơron, đầu ra của PEq là zq (q = 1...l)
▪ Lớp ra: n nơron, đầu ra của PEi là yi (i = 1...n)
▪ wqj là trọng số liên kết giữa đầu vào xj với PEq
trong lớp ẩn
▪ wiq là trọng số liên kết giữa PEq lớp ẩn với PEi
của lớp ra
▪ Outq = zq là giá trị đầu ra của PEq trong lớp ẩn
▪ Outi = yi là giá trị đầu ra của PEi ở lớp ra,
cũng chính là đầu ra của mạng
Xây dựng luật học Lan truyền ngược
❑ Pha 1 – LAN TRUYỀN TIẾN:
▪ Với mỗi DL huấn luyện x: Vector đầu vào x được lan truyền từ lớp vào đến
lớp ra. Khi đó mạng sẽ sinh ra một vector giá trị đầu ra thực Outi (i = 1...n)
▪ Khi vector đầu vào x được cung cấp vào mạng, nơron thứ q trong lớp ẩn sẽ
nhận được giá trị đầu vào tổng thể (net input):
zq =
▪ Nơron thứ i ở lớp ra sẽ sinh ra một giá trị đầu ra (là giá trị đầu ra của mạng):
yi =
▪ Vector các giá trị đầu ra Outi (i = 1...n) chính là giá trị đầu ra thực tế của
mạng ứng với vector đầu vào x
Xây dựng luật học Lan truyền ngược
❑ Pha 2 – LAN TRUYỀN NGƯỢC:
▪ Với mỗi một DL huấn luyện x: Xác định được các tín hiệu sai số giữa giá trị
đầu ra mong muốn d và giá trị đầu ra thực tế Out. Các tín hiệu sai số này
(chính là các tín hiệu HỌC) được lan truyền ngược từ lớp ra về các lớp phía
trước nó, mỗi lần truyền ngược về là một lần điều chỉnh và cập nhật các
TRỌNG SỐ (weights)
▪ Sử dụng một hàm đánh giá sai số (để xác định các tín hiệu sai số và việc lan
truyền ngược của chúng):
Xây dựng luật học Lan truyền ngược
❑ Pha 2 – LAN TRUYỀN NGƯỢC:
▪ Theo phương pháp Gradient descent, các trọng số liên kết giữa nơron lớp ẩn
và lớp ra được cập nhật bởi:
(1*)
Xây dựng luật học Lan truyền ngược
❑ Pha 2 – LAN TRUYỀN NGƯỢC:
▪ Các trọng số liên kết giữa nơron tầng vào và tầng ẩn cũng được cập nhật
theo phương pháp Gradient descent và quy tắc chuỗi đạo hàm:
▪ Từ biểu thức tính hàm sai số E(w), nhận thấy mỗi sai số thành phần (di – ai)
(với i = 1...n) là một hàm của Outq:
Xây dựng luật học Lan truyền ngược
❑ Pha 2 – LAN TRUYỀN NGƯỢC:
nên áp dụng quy tắc chuỗi đạo hàm, ta có:
(2*)
Nhận thấy: tín hiệu sai số nơron lớp ra i khác với tín hiệu sai số của nơron ở lớp ẩn q
do vậy thủ tục cập nhật trọng số trong luật lan truyền ngược còn đgl Quy tắc học
Delta tổng quát
Xây dựng luật học Lan truyền ngược
❑ Pha 2 – LAN TRUYỀN NGƯỢC:
▪ Tín hiệu sai số q của nơron q trong lớp ẩn được xác định bởi các tín hiệu sai số i
của các nơron i ở lớp ra (mà nơron q liên kết tới) truyền ngược về và các hệ số
chính là các trọng số wiq
▪ Quá trình tính tín hiệu sai số như trên được mở rộng (khái quát) dễ dàng đối với
ANNs có nhiều lớp ẩn. Giải thuật mô tả luật học Lan truyền ngược được gọi là
BACK PROPAGATION (BP), cung cấp quy tắc cập nhật trọng số như sau:
wab = .a.xb
• a; b là 2 chỉ số tương ứng với 2 đầu của liên kết b với a (từ một nơron b trong lớp
ẩn (hoặc tín hiệu đầu vào b) đến nơron a ở lớp ra (hoặc nơron a của lớp ẩn))
• xb là giá trị đầu ra của nơron b trong lớp ẩn (hoặc tín hiệu đầu vào b ở lớp vào)
• a là tín hiệu sai số của nơron a ở lớp ra (hoặc là của nơron a trong lớp ẩn)
Giải thuật Back Propagation
❑ Back_propagation_Algorithm
Xét mạng nơron gồm Q lớp (q = 1, 2,..., Q)
qNet và qOut là đầu vào tổng thể (Tín hiệu kích hoạt – net input) và giá trị đầu ra của
i i
nơron i trong lớp q
Mạng có m tín hiệu đầu vào và n nơron đầu ra
qw là trọng số liên kết giữa nơron j trong lớp (q-1) với nơron i ở lớp q
ij
BP algorithm gồm 7 bước:
▪ Bước 0 (Khởi tạo):
Chọn ngưỡng sai số Ethreshold (giá trị sai số có thể chấp nhận được trong suốt quá
trình HL)
Khởi tạo giá trị trọng số ban đầu ngẫu nhiên và nhỏ
Chọn hệ số học ngẫu nhiên và nhỏ
Gán E = 0 (E là sai số tổng thể của HT trong quá trình HL)
Giải thuật Back Propagation
❑ Back_propagation_Algorithm
▪ Bước 1 (Bắt đầu một chu kỳ học):
Đưa vector đầu vào x của DL học thứ k tới lớp vào (q = 1):
qOut = 1Out = x (k) , i
i i i
▪ Bước 2 (Pha 1 - Lan truyền tiến):
Thực hiện lan truyền tiến các tín hiệu đầu vào qua mạng, từ lớp vào qua các lớp ẩn
rồi đến lớp ra cho đến khi nhận được các giá trị đầu ra của mạng QOuti :
Với: