Ngoài ra, trong quá trình học cao học ngành Hệ thống thông tin tại trường Đại học Sư phạm Đà Nẵng tôi cũng được học về các thuật toán học máy như phân lớp, nhận dạng, hỗ trợ ra quyết địn
Trang 1C ẴNG TRƯỜ G I H C SƯ P M
à ẵng - 2023
Trang 2C ẴNG TRƯỜ G I H C SƯ P M
NGUYỄN PHÚC MINH TÚ
NGHIÊN CỨU ỨNG DỤNG H C MÁY Ể DỰ BÁO KHẢ
Ă G BỎ H C CỦA S V Ê TRƯỜ G I H C DUY TÂN
N à ệ thống thông tin
M ố 84.80.104
U VĂ T C S Ỹ THU T
TS ễn Trần Quốc Vinh
Trang 3MỤC LỤC
LỜI CẢM ƠN iii
LỜI CAM ĐOAN iv
DANH MỤC TỪ VIẾT TẮT vii
DANH MỤC BẢNG BIỂU viii
DANH MỤC HÌNH VẼ ix
MỞ ĐẦU 1
1 Lý do chọn đề tài 1
2 Mục tiêu nghiên cứu 2
3 Đối tượng và phạm vi nghiên cứu 3
3.1 Đối tượng nghiên cứu 3
3.2 Phạm vi nghiên cứu 3
4 Phương pháp nghiên cứu 3
4.1 Phương pháp lý thuyết 3
4.2 Phương pháp thực nghiệm 3
5 Ý nghĩa thực tiễn của đề tài 3
6 Kết quả dự kiến 4
6.1 Lý thuyết 4
6.2 Thực tiễn 4
7 Kết cấu của luận văn 4
CHƯƠNG 1 TỔNG QUAN VỀ HỌC MÁY 5
1.1 AI và học máy 5
1.2 Nhiệm vụ trong học máy 6
1.3 Phân loại học máy 6
1.4 Phép đánh giá một mô hình học máy 7
1.5 Hàm mất mát và tham số mô hình 7
1.6 Mô hình chung cho các bài toán học máy 8
1.6.1 Bước huấn luyện 9
1.6.2 Bước kiểm tra 9
1.6.3 Chuẩn hóa vector đặc trưng 9
1.7 Các thuật toán được sử dụng trong đề tài 10
1.7 1 Thuật toán cây quyết định 10
Trang 41.7.2 Thuật toán ANN (mạng neuron nhân tạo) 17
1.7.3 Cấu tạo bên trong và tính toán của một mạng ANN 22
1.7.4 Huấn luyện mạng ANN 23
Kết chương 1 25
CHƯƠNG 2 GIẢI PHÁP DỰ BÁO KHẢ NĂNG BỎ HỌC CỦA SINH VIÊN 26
2.1 Phát biểu bài toán 26
2.2 Xây dựng bộ dữ liệu 27
2.3 Dự báo dựa trên cây quyết định 29
2.4 Dự báo dựa trên ANN 31
2.5 Mô hình hệ thống 33
Kết chương 2 33
CHƯƠNG 3 CÀI ĐẶT THUẬT TOÁN VÀ ĐÁNH GIÁ KẾT QUẢ 34
3.1 Môi trường cài đặt và định dạng file dữ liệu 34
3.2 Cài đặt thuật toán cây quyết định và kết quả 36
3.2.1 Cài đặt thuật toán 36
3.2.2 Kết quả huấn luyện cây quyết định 38
3.3 Cài đặt thuật toán mạng neuron nhân tạo (ANN) 41
3.3.1 Khai báo thư viện và định nghĩa cấu trúc mạng ANN: 41
3.3.2 Chuẩn bị dữ liệu huấn luyện và dữ liệu kiểm tra 42
3.3.3 Huấn luyện mô hình 43
3.3.4 Kiểm tra đánh giá mô hình 43
3.4 Đánh giá kết quả của 2 thuật toán 44
Kết chương 3 46
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 47
DANH MỤC TÀI LIỆU THAM KHẢO 48
Trang 5LỜI CẢM ƠN
Để thực hiện đề tài này tôi xin chân thành cám ơn quý thầy cô quản lý và giảng dạy trường Đại học Sư phạm Đà Nẵng đã hỗ trợ tôi trong suốt quá trình học tập và nghiên cứu tại trường Cảm ơn thầy
TS Nguyễn Trần Quốc Vinh, người đã trực tiếp giảng dạy và hướng
dẫn tôi thực hiện đề tài này Xin cảm ơn đến đồng nghiệp tại trường Đại học Duy Tân đã cung cấp số liệu và hỗ trợ nhiệt tình cho tôi để tôi có thời gian tham gia chương trình thạc sĩ này và ủng hộ tôi trong
suốt thời gian thực hiện đề tài
Trân trọng
Nguyễn Phúc Minh Tú
Trang 6LỜI CAM ĐOAN
Tôi xin cam đoan :
1 Những nội dung trong luận văn này là do tôi thực hiện dưới
sự hướng dẫn trực tiếp của thầy TS Nguyễn Trần Quốc Vinh
2 Mọi tham khảo dùng trong luận văn này đều được trích dẫn
rõ ràng và trung thực tên tác giả, tên công trình, thời gian, địa điểm công bố
3 Mọi sao chép không hợp lệ, vi phạm quy chế đào tạo, hay gian trá, tôi xin chịu hoàn toàn trách nhiệm
Nguyễn Phúc Minh Tú
Trang 7TÊN ĐỀ TÀI: NGHIÊN CỨU ỨNG DỤNG HỌC MÁY ĐỂ DỰ BÁO KHẢ NĂNG BỎ HỌC CỦA SINH VIÊN TẠI TRƯỜNG ĐẠI HỌC DUY TÂN
Họ và tên học viên : Nguyễn Phúc Minh Tú
Người hướng dẫn khoa học : TS Nguyễn Trần Quốc Vinh
Cơ sở đào tạo : Trường đại học Sư Phạm – Đại học Đà Nẵng
Tóm tắt:
Những năm gần đây việc ứng dụng công nghệ thông tin đã đi vào mọi lĩnh vực trong cuộc sống Dù
đã manh nha xuất hiện từ vài thập niên trước nhưng trí tuệ nhân tạo hiện đang là xu hướng nghiên cứu và phát triển các ứng dụng đa dạng để phục vụ nhiều khía cạnh của cuộc sống Ở các trường đại học ở Việt Nam hiện nay, số lượng sinh viên thôi học ít cũng là một phần làm gia tăng mức uy tín của mỗi trường đại học lên Nên học viên đã chọn lĩnh vực ứng dụng của học máy để nghiên cứu giải quyết bài toán dự báo sinh viên có khả năng bỏ học tại trường đại học Duy Tân Thông tin được thu thập từ nguồn dữ liệu thực tế số sinh viên bỏ học, thôi học trong 05 năm qua với 5000 sinh viên Qua phân tích, đánh giá thì điều này có liên quan đến một số yếu tố của mỗi sinh viên như: điểm đầu vào, sức khoẻ, việc làm thêm, gia cảnh, điểm trung bình tích lũy Học viên đã chọn 2 thuật toán thuộc lĩnh vực học máy có giám sát để áp dụng và đánh giá cho đề tài này bao gồm cây quyết định (DT) và mạng nơ ron nhân tạo (ANN) Cây quyết định là một thuật toán đơn giản và phổ biến Thuật toán này được sử dụng rộng rãi bởi mô hình sinh ra các quy tắc dễ hiểu cho người dùng, tạo ra bộ luật với mỗi nhánh lá là một luật của cây Tuy nhiên cây quyết định phụ thuộc rất lớn vào dữ liệu, với một
sự thay đổi nhỏ trong bộ dữ liệu, cấu trúc mô hình cây quyết định có thể thay đổi hoàn toàn Mạng nơron nhân tạo là một mô hình xử lý thông tin phỏng theo cách thức xử lý thông tin của các hệ nơron sinh học Các perceptron trong ANN được nối với nhau thông qua các trọng số liên kết làm việc như một thể thống nhất để giải quyết một vấn đề cụ thể nào đó Nhìn chung, các thuật toán học máy đều thông qua 5 bước chung bao gồm nhập dữ liệu, tìm mẫu đặc trưng, huấn luyện, dự đoán/dự báo, và lưu giữ kết quả phản hồi Trong báo cáo luận văn này, học viên chọn môi trường cài đặt các thuật toán là môi trường trực tuyến Google Collaboratory với ngôn ngữ lập trình là Python Qua kết quả
đã chạy thực nghiệm cho thấy cả hai mô hình đều cho kết quả có độ chính xác cao, không quá chênh lệch nhau, và mô hình mạng ANN tốt hơn một chút so với mô hình cây quyết định Hướng phát triển của nghiên cứu tiếp theo là thực hiện huấn luyện thêm với các dữ liệu cập nhật cho sinh viên khóa mới, theo dõi kết quả để điều chỉnh các dữ liệu cho độ chính xác cao hơn nữa và gắn với thực tế của trường Bên cạnh đó học viên tiếp tục tìm hiểu thêm các thuật toán học máy khác cũng như xem xét
bổ sung các thuộc tính đầu vào nhằm làm cho công tác dự báo có độ chính xác cao hơn
Từ khóa : Học máy, Học có giám sát, Cây quyết định, Mạng thần kinh nhân tạo, Dự đoán
Xác nhận của giảng viên hướng dẫn Người thực hiện đề tài
TS Nguyễn Trần Quốc Vinh Nguyễn Phúc Minh Tú
Trang 8Name of thesis :
RESEARCH ON MACHINE LEARNING APPLICATION TO PREDICT DROPOUT PROBABILITY OF STUDENTS AT DUY TAN UNIVERSITY
Full name of Master student : Nguyen Phuc Minh Tu
Supervisors : Dr Nguyen Tran Quoc Vinh
Training institution : University of Education – University of Da Nang Abstract
In recent years, the application of information technology has entered all areas of life Although it first appeared a few decades ago, Artificial Intelligence is currently a research and development trend with diverse applications for human needs In Vietnames universities, the small number of students dropping out is a part of increasing the prestige of the universities Therefore, the author chooses the application field of Machine Learning to study and solve the problem of predicting students with a high probability of dropping out at Duy Tan University Data for this problem was collected from the actual source over the past five years with 5000 student records Through analysis and evaluation, this is related to a number of factors about each student such as their entrance score, health, part-time job, parent income and cumulative GPA The author has chosen two algorithms in the field of Supervised Machine Learning to apply and evaluate for this topic, including Decision Trees (DT) and Artificial Neural Networks (ANN) Decision Tree is a simple and popular algorithm for generating rules that are easy to understand for users Creating a set of rules for each leaf branch is the main role of training the tree However, Decision Tree is very data dependent, and with a small change in the data set, the Decision Tree model structure can change completely An Artificial Neural Network is a model of information processing that mimics the way biological neural systems process information The perceptrons in the ANN are connected through association weights that work as a whole to solve a particular problem In general, Machine Learning algorithms all go through five common steps including data preparation, feature extraction, training, prediction, and storing feedback In this thesis report, the author chooses the online Google Collaboratory as developing environment with Python programming language The experimental results show that both models give high accuracy, and the ANN network model is a bit better than the Decision Tree model The future research is to conduct additional training with updated data for new students, monitor the results to adjust the data for even greater accuracy and align with the reality of the school Besides, the author would continue to study other Machine Learning algorithms as well as consider adding input attributes to make forecasting more accurate
Key words: Machine Learning, Supervised Learning, Decision Tree, Artificial Neural Network, Prediction
DR Nguyen Tran Quoc Vinh Nguyen Phuc Minh Tu
Trang 9DANH MỤC TỪ VIẾT TẮT
AI Artificial Intelligence
ANN Artificial Neural Network
CPU Centrer Processing Unit
GPU Graphics Processing Unit
HTML HyperText Markup Language
ID3 Iterative Dichotomiser 3
KNN K-nearest neighbors
SVM Support vector machine
TPU Tensor Processing Unit
Trang 10DANH MỤC BẢNG BIỂU
1.1 Bảng dữ liệu quyết định sinh viên nghỉ học hay không
1.2 Sắp xếp lại bảng ban đầu theo thuộc tính ParentIncome
28
Trang 11DANH MỤC HÌNH VẼ
Số
1.5 Perceptron đầy đủ với hàm kích hoạt là hàm sign 19
3.1 Kết quả huấn luyện mô hình cây quyết định sau khi huấn luyện 40 3.2 Kết quả huấn luyện mô hình cây quyết định sau khi huấn luyện 41
Trang 12MỞ ĐẦU
1 Lý do chọn đề tài
Việc ứng dụng công nghệ thông tin đã đi vào mọi lĩnh vực của cuộc sống, máy tính ban đầu chỉ là công cụ tính toán đến nay máy tính còn có thể học được và suy nghĩ để ra quyết định giống con người Dù đã manh nha xuất hiện từ vài thập niên trước nhưng AI-Trí tuệ nhân tạo hiện đang là xu hướng nghiên cứu và phát triển các ứng dụng đa dạng để phục vụ nhiều khía cạnh của cuộc sống
Trong quá trình hoạt động, con người tạo ra nhiều dữ liệu nghiệp vụ Các tập
dữ liệu được tích lũy có kích thước ngày càng lớn, và có thể chứa nhiều thông tin ẩn dạng những quy luật chưa được khám phá Chính vì vậy, nhu cầu đặt ra là cần tìm cách trích rút từ tập dữ liệu đó, các luật về phân lớp dữ liệu hay dự đoán những xu hướng dữ liệu tương lai Những quy tắc nghiệp vụ thông minh được tạo ra phục vụ đắc lực cho các hoạt động thực tiễn, cũng như cho quá trình nghiên cứu khoa học Kỹ thuật phân lớp và dự đoán dữ liệu ra đời để đáp ứng mong muốn đó Kỹ thuật phân lớp dữ liệu đã, đang và sẽ phát triển mạnh mẽ trước những khao khát tri thức của con người Trong những năm qua, phân lớp dữ liệu đã thu hút sự quan tâm các nhà nghiên cứu trong nhiều lĩnh vực khác nhau như học máy (machine learning), hệ chuyên gia (expert system), suy luận thống kê (statistical inference) Ở khía cạnh học máy, nhiều kỹ thuật phân lớp đã được đề xuất như: Phân lớp cây quyết định (Decision tree classification), phân lớp Bayesian (Bayesian classifier), phân lớp K- láng giềng gần nhất (K-nearest neighbor classifier), mạng nơron, phân tích thống kê,… và được ứng dụng trong nhiều lĩnh vực thực tế như: thương mại, nghiên cứu thị trường, bảo hiểm,
y tế, giáo dục
Trong các ứng dụng liên quan đến lĩnh vực giáo dục, giải pháp phân lớp trở nên rất cần thiết đối với việc tự động nhận biết một sinh viên có khả năng bỏ học hay không Đây là vấn đề quan tâm hàng đầu của lãnh đạo nhà trường khi số lượng sinh viên bỏ học cao làm ảnh hưởng đến công tác đào tạo của nhà trường
Nguyên nhân bỏ học đến từ yếu tố chủ quan của các bạn sinh viên: không định
Trang 13hướng được, điểm số tích lũy thấp, đi làm thêm quá nhiều khi đến lớp thì không có sức khoẻ để tiếp thu kiến thức, do điểm đầu vào, hay số lần sinh viên gặp giảng viên
cố vấn, Khi sinh viên có quyết định thôi học, các cố vấn học tập được phân công liên hệ sinh viên để động viên hướng dẫn hỗ trợ sinh viên tiếp tục học hoàn thành chương trình Tuy nhiên đến khi sinh viên có quyết định thôi học hoặc bỏ học thì những hoạt động hỗ trợ từ phía nhà trường và cố vấn học tập cũng đã giúp sinh viên khắc phục để tiếp tục hoàn thành chương trình học, nhưng chỉ được một phần nhỏ Tuy nhiên tính đến thời điểm hiện tại trường Đại học Duy Tân chưa có phần mềm để
dự báo khả năng thôi học mà chỉ có phương pháp phân tích đánh giá thủ công truyền thống Hiện tại học viên chưa thấy hệ thống sẵn có trên thị trường để vận dụng vào bài toán dự báo thôi học của sinh viên Cho nên học viên mong muốn ứng dụng công nghệ thông tin cụ thể là thuật toán học máy để dự báo sớm những sinh viên có nguy
cơ bỏ học cao để có giải pháp hỗ trợ kịp thời
Nếu xác định được sinh viên có nguy cơ bỏ học, cố vấn học tập, khoa và các phòng ban liên quan sẽ có giải pháp tìm hiểu, tư vấn khuyến khích và hỗ trợ sinh viên
để sinh viên có thể tiếp tục việc học của mình Ngoài ra, trong quá trình học cao học ngành Hệ thống thông tin tại trường Đại học Sư phạm Đà Nẵng tôi cũng được học về các thuật toán học máy như phân lớp, nhận dạng, hỗ trợ ra quyết định dưới sự huấn luyện của người dùng Vì vậy, khi chọn đề tài tốt nghiệp học viên mong muốn tìm hiểu một số thuật toán học máy giúp giải quyết vấn đề xác định sinh viên có nguy cơ
bỏ học với đề tài “NGHIÊN CỨU ỨNG DỤNG HỌC MÁY ĐỂ DỰ BÁO KHẢ NĂNG BỎ HỌC CỦA SINH VIÊN TRƯỜNG ĐẠI HỌC DUY TÂN” với sự hướng dẫn của TS Nguyễn Trần Quốc Vinh
2 Mục tiêu nghiên cứu
- Nghiên cứu thuật toán cây quyết định và thuật toán mạng nơron cho bài toán
dự báo sinh viên bỏ học
- Xây dựng ứng dụng dự báo khả năng học hết đại học hoặc bỏ học giữa chừng của sinh viên trường đại học Duy Tân thông qua phân tích các yếu tố đầu vào, triển
Trang 14khai thực nghiệm và đánh giá kết quả
3 Đối tượng và phạm vi nghiên cứu
3.1 Đối tượng nghiên cứu
- Học máy và một số thuật toán học có giám sát của học máy
- Dữ liệu huấn luyện
- Cài đặt thuật toán cây quyết định và thuật toán mạng nơron cho bài toán dự báo sinh viên bỏ học
3.2 Phạm vi nghiên cứu
- Các kỹ thuật phân lớp: cây quyết định sử dụng thuật toán ID3
- Mạng nơron nhân tạo
- Dữ liệu sinh viên đã và đang học tại trường Đại học Duy Tân trong những năm gần đây để đưa ra kết quả dự báo về tình trạng bỏ học giữa chừng
4 Phương pháp nghiên cứu
4.1 Phương pháp lý thuyết
- Thu thập, đọc hiểu, phân tích thông tin, dữ liệu từ các tài liệu, giáo trình liên quan đến học máy, các thuật toán học có giám sát cơ bản của học máy
4.2 Phương pháp thực nghiệm
- Thu thập dữ liệu mẫu
- Xây dựng chương trình cho các thuật toán
- Huấn luyện chương trình
- Đánh giá kết quả
5 Ý nghĩa thực tiễn của đề tài
Đề tài này có thể được phát triển để áp dụng trong thực tế để xác định những sinh viên có khả năng bỏ học cao nhằm đưa ra những giải pháp hỗ trợ kịp thời giúp hạn chế bỏ học và tăng tỉ lệ tốt nghiệp của sinh viên tại Trường Đại học Duy Tân
Trang 156 Kết quả dự kiến
6.1 Lý thuyết
- Áp dụng thuật toán cây quyết định vào dự đoán kết quả
- Lựa chọn thuật toán dự đoán phù hợp trong số các thuật toán học máy có giám sát để áp dụng vào dự đoán kết quả
- So sánh kết quả đạt được giữa 2 thuật toán dựa trên cùng tập dữ liệu đầu vào
6.2 Thực tiễn
Xây dựng chương trình demo có thể dự đoán kết quả sinh viên có bỏ học hay không, xác suất bỏ học và tỉ lệ % dự đoán chính xác của mỗi thuật toán
7 Kết cấu của luận văn
- Chương 1: Tổng quan về học máy
Các thuật toán học máy đều thông qua 5 bước chung: bao gồm nhập dữ liệu, phân tích dữ liệu, tìm mẫu đặc trưng, dự đoán/dự báo, và lưu giữ kết quả phản hồi
Mô hình chung cho các bài toán học máy là bước huấn luyện, bước kiểm thử và chuẩn hoá vector đặc trưng
- Chương 2: Giải pháp dự báo khả năng bỏ học của sinh viên
Thu thập xây dựng bộ dữ liệu đầu vào, huấn luyện mô hình dựa trên thuật toán cây quyết định và thuật toán mạng nơ ron nhân tạo để phân loại sinh viên có khả năng
bỏ học cao và có khả năng bỏ học thấp Sau khi các mô hình được huấn luyện, dữ liệu kiểm tra được đánh giá và sử dụng mô hình cho phù hợp để phân loại sinh viên trong thực tế
- Chương 3: Cài đặt thuật toán và đánh giá kết quả
Môi trường cài đặt thuật toán là Colab cho phép người dùng lập trình và thực thi các đoạn code dưới dạng máy ảo do Google cung cấp Sử dụng công cụ ở thư viện Sklearn để cài đặt hai thuật toán và huấn luyện mô hình Chuẩn bị dữ liệu huấn luyện, tiền xử lý dữ liệu, phân chia dữ liệu huấn luyện-kiểm tra, dựa vào kết quả của hai thuật toán và đánh giá
Trang 16CHƯƠNG 1 TỔNG QUAN VỀ HỌC MÁY
1.1 AI và học máy
Những năm gần đây, AI (Artificial Intelligence) nổi lên như bằng chứng cho cuộc cách mạng công nghiệp lần thứ 4 (1 - động cơ hơi nước, 2 - năng lượng điện, 3
- công nghệ thông tin) Trí tuệ nhân tạo đang len lỏi vào mọi lĩnh vực trong đời sống
mà có thể chúng ta không nhận ra như: Xe tự hành của Google và Tesla, hệ thống tự tag khuôn mặt trong ảnh của Facebook, trợ lý ảo Siri của Apple, hệ thống gợi ý sản phẩm của Amazon, hệ thống gợi ý phim của Netfix, máy chơi cờ vây AlphaGo của Google DeepMind… Và đây cũng chỉ là một vài trong những ứng dụng của AI Lĩnh vực trí tuệ nhân tạo lại có nhiều nhánh nhỏ hơn, trong đó học máy là một nhánh quan trọng và đang thu hút rất nhiều quan tâm từ cộng đồng nghiên cứu cũng như công nghiệp Học máy đưa ra giải pháp giúp máy có khả năng tự học hỏi dựa trên dữ liệu được đưa vào mà không cần phải được lập trình cụ thể rõ ràng Nó cho phép các hệ thống học hỏi và cải thiện từ kinh nghiệm tự động Ứng dụng của học máy những năm gần đây xuất hiện ở khắp mọi nơi từ việc nhận dạng khuôn mặt, vân tay, cử chỉ, giọng nói, xử lí các mô hình hình ảnh y khoa,… Học máy có thể ứng dụng hầu hết các loại dữ liệu từ cấu trúc (bảng số liệu) và cả dữ liệu phi cấu trúc (hình ảnh, văn bản, tín hiệu âm thanh) Nền tảng học máy đang trở thành ngày càng phổ biến hơn, các ứng dụng và huấn luyện các công cụ mà các doanh nghiệp đang đầu tư rất nhiều trong học máy để gặt hái được những lợi ích của nó trong các lĩnh vực khác nhau như như y học , chăm sóc sức khỏe, sản xuất, ngân hàng và một số ngành khác
Về ý tưởng, học máy cho phép hệ thống đưa ra quyết định một cách tự chủ sau khi máy học hỏi từ dữ liệu và hiểu các mẫu cơ bản chứa bên trong dữ liệu Sau đó, thông qua đối sánh mẫu và phân tích sâu hơn, chúng trả về kết quả có thể là phân loại hoặc dự đoán Có thể nói rằng học máy dựa trên một số thuật toán xây dựng mô hình
để giải quyết vấn đề cụ thể như: phân lớp, phân loại, hồi quy,… Nhìn chung, các thuật toán học máy đều thông qua 5 bước chung như trong Hình 1.1, bao gồm Nhập dữ liệu (Input data), Phân tích dữ liệu (Analyze data), Tìm mẫu đặc trưng (Find patterns), Dự
Trang 17đoán/Dự báo (Prediction), và Lưu giữ kết quả phản hồi (Store the Feedback)
Hình 1 1 Cơ chế làm việc của học máy
1.2 Nhiệm vụ trong học máy
Các nhiệm vụ trong học máy thường là học các đặc trưng dữ liệu và ra các quyết định dự đoán hoặc phân lớp Đặc trưng dữ liệu có thể có được từ bước tiền xử lý của người lập trình, hoặc có thể được rút ra trực tiếp từ bản thân giải thuật học máy Các nhiệm vụ khác nhau có thể được nhận biết thông qua việc một hệ thống học máy xử
lý một điểm dữ liệu như thế nào Ví dụ, đối với bài toán phân nhóm sinh viên, mỗi sinh viên là một điểm dữ liệu Mỗi điểm dữ liệu bao gồm nhiều đặc trưng khác nhau, mỗi đặc trưng thường được biểu diễn dưới dạng một con số Học máy có thể áp dụng
để phân loại sinh viên có rèn luyện tốt/xấu, dự đoán kết quả học tập trong kì tiếp theo của sinh viên, hoặc có thể dự đoán hành vi chọn môn học của học kì tiếp, v.v…
1.3 Phân loại học máy
Việc huấn luyện các mô hình học máy có thể coi là việc cho chúng trải nghiệm trên các tập dữ liệu chính là tập huấn luyện Các tập dữ liệu khác nhau sẽ cho các mô hình trải nghiệm khác nhau Chất lượng của các tập dữ liệu này cũng ảnh hưởng đến hiệu năng của mô hình Dựa trên tính chất của các tập dữ liệu, các thuật toán học máy
có thể phân thành hai nhóm chính là học có giám sát, học không giám sát, và kết hợp hai loại này là bán giám sát
Học có giám sát là thuật toán dự đoán đầu ra của một hoặc nhiều dữ liệu mới
dựa trên các cặp (đầu vào, đầu ra) đã biết từ trước Các bài toán hồi qui, gán nhãn thông thường thuộc loại học có giám sát
Trang 18Trong khi đó, học không giám sát sẽ dựa vào cấu trúc của dữ liệu để thực hiện
một công việc nào đó Nói một cách toán học, học không giám sát là khi chúng ta chỉ
có dữ liệu đầu vào X mà không biết đầu ra Y tương ứng, chúng ta không biết câu trả lời chính xác cho mỗi dữ liệu đầu vào Giải thuật phân cụm K-means là một ví dụ điển hình cho kiểu học không giám sát
Học bán giám sát, là phương thức dựa trên định hướng người lập trình với
thông tin tối thiểu như là mục tiêu cuối cùng, máy sẽ tự động xây dựng cơ chế cập nhật, thử sai để đạt được mục tiêu cuối cùng này Một kiểu học bán giám sát đặc trưng nhất là Học tăng cường, một giải pháp áp dụng cho bài toán huấn luyện robot/máy tự vận hành thông qua thử sai như tự bước đi, tự đứng lên, tự đánh bóng bàn, tự giữ thăng bằng, tự học bay, học bơi, v.v…
1.4 Phép đánh giá một mô hình học máy
Để kiểm tra năng lực của một thuật toán học máy, chúng ta cần phải thiết kế các phép đánh giá có thể đo đạc được kết quả Thông thường, khi thực hiện một thuật toán học máy, dữ liệu sẽ được chia thành hai phần riêng biệt: tập huấn luyện và tập kiểm thử Tập huấn luyện sẽ được dùng để tìm các tham số mô hình Tập kiểm thử được dùng để đánh giá năng lực của mô hình tìm được Việc đánh giá có thể áp dụng lên cả hai tập hợp Muốn mô hình thực hiện tốt trên tập kiểm thử thì trước hết nó phải hoạt động tốt trên tập huấn luyện Các thang đánh giá thường dùng là tỉ lệ phân loại đúng, tỉ lệ phân loại đúng đối với một nhãn quan tâm, sai số bình phương trung bình đối với nhiệm vụ hồi quy Ngoài ra người ta có thể dùng ma trận nhầm lẫn để đánh giá độ chính xác với bài toán phân loại nhiều nhãn
Trang 19liệu bị phân lớp sai nhất Trong bài toán regression (hồi quy), kết quả tốt là khi sự sai lệch giữa đầu ra dự đoán và đầu ra thực sự là ít nhất
Hàm mất mát thực chất là một thang đó mức “tốt” của kết quả tốt, dựa trên đó
mô hình học máy sẽ được đánh giá Thông thường, hàm mất mát có giá trị thấp nếu
mô hình có tham số phù hợp/tốt, và ngược lại Do đó, đối với bài toán phân loại, hàm mất mát có thể là số điểm dữ liệu bị phân lớp sai Đối với bài toán hồi quy, hàm mất mát chính là độ sai lệch (có thể là tổng bình phương sai lệch) giữa đầu ra và đầu vào
1.6 Mô hình chung cho các bài toán học máy
Phần lớn các mô hình học máy có thể được minh họa trong Hình 1.2:
Hình 1 2 Các bước của học máy
Có hai bước lớn trong mỗi bài toán học máy là bước huấn luyện (training phase)
và bước kiểm thử (test phase) Bước huấn luyện sẽ chỉ dùng dữ liệu huấn luyện, bước kiểm thử sẽ chỉ dùng dữ liệu trong tập kiểm thử
Trang 201.6.1 Bước huấn luyện
Có hai khối cần được thiết kế: Khối thứ nhất, trích chọn đặc trưng (feature extraction), có nhiệm vụ tạo ra một vector đặc trưng cho mỗi điểm dữ liệu đầu vào Vector đặc trưng này thường có kích thước như nhau, bất kể dữ liệu đầu vào có kích thước như thế nào Đầu vào của khối trích chọn đặc trưng có thể là:
• Dữ liệu thô ban đầu (raw training input) Dữ liệu thô bao gồm tất cả các thông tin ta biết về dữ liệu
Ví dụ: dữ liệu thô của một ảnh là giá trị của từng pixel; của một văn bản là từng
từ, từng câu; của một file âm thanh là một đoạn tín hiệu; với bài toán dự báo thời tiết,
dữ liệu thô là thông tin về hướng gió, nhiệt độ, độ ẩm,v.v
• Các thông tin khác đã biết về loại dữ liệu (Prior knowledge about data) ngoài những thông tin về dữ liệu thô (raw input) và dữ liệu đầu ra (output) Sau khi các tham số mô hình của bộ trích chọn đặc trưng được thiết kế, dữ liệu thô ban đầu được đưa qua và tạo ra các vector đặc trưng tương ứng được gọi là các tính năng đặc trưng được trích chọn (extracted feature) Những đặc trưng được trích rút này sẽ được đưa vào huấn luyện các thuật toán chính như phân lớp, hồi quy, phân cụm, v.v
1.6.2 Bước kiểm tra
Bước này sử dụng kiến thức mà máy đã học và được lưu trữ trong khối “ các thuật toán phân lớp, hồi quy, phân cụm…” để thực hiện tính toán ngõ ra cần thiết Chú ý rằng, khối này sẽ không xử lý trực tiếp dữ liệu thô mới mà chỉ xử lý dữ liệu kiểu vector đặc trưng Do đó bộ trích chọn đặc trưng ở bước huấn luyện phải được sử dụng để tìm ra vector đặc trưng ứng với dữ liệu thô đó Sau đó, vector đặc trưng này mới được đưa vào mô hình đã được huấn luyện Mô hình sẽ đưa ra quyết định tùy vào loại bài toán là phân cụm, phân lớp hoặc hồi quy
1.6.3 Chuẩn hóa vector đặc trưng
Vector đặc trưng được sử dụng ở cả hai bước huấn luyện và kiểm thử, do đó việc chuẩn hóa vector đặc trưng về cùng thang đo cũng như tỉ lệ là điều cần thiết để
Trang 21đảm bảo mô hình được hoạt động hiệu quả
Các điểm dữ liệu đôi khi được đo đạc với những đơn vị khác nhau, mét và feet chẳng hạn Hoặc có hai thành phần (của vector dữ liệu) chênh lệch nhau quá lớn, một thành phần có khoảng giá trị từ 0 đến 1000, thành phần kia chỉ có khoảng giá trị từ 0 đến 1 chẳng hạn Lúc này, chúng ta cần chuẩn hóa dữ liệu trước khi thực hiện các bước tiếp theo
1.7 Các thuật toán được sử dụng trong đề tài
1.7 1 Thuật toán cây quyết định
Cây quyết định là một thuật toán đơn giản và phổ biến, thuật toán này thuộc nhóm học có giám sát Cây quyết định là một cây phân cấp có cấu trúc được dùng để phân lớp các đối tượng dựa vào dãy các luật Các thuộc tính của đối tượng có thể thuộc các kiểu dữ liệu khác nhau như Nhị phân (Binary), Định danh (Nominal), Thứ
tự (Ordinal), Số lượng (Quantitative) trong khi đó thuộc tính phân lớp phải có kiểu
dữ liệu nhãn đếm được
Thuật toán học cây quyết định bằng cách xây dựng cây từ trên xuống dưới, bắt đầu với câu hỏi “thuộc tính nào nên được chọn ở nút gốc”, mỗi thuộc tính được đánh giá bằng cách thống kê để xác định xem một mình nó có phân loại cho các mẫu huấn luyện tốt như thế nào Thuộc tính tốt nhất được chọn và được dùng làm nút gốc của cây Con của nút gốc sau đó được tạo ra cho mỗi giá trị tương đương của thuộc tính này và các mẫu ví dụ huấn luyện được phân loại theo nút con thích hợp Sau đó toàn
bộ quá trình này được được lặp lại bằng cách dùng các mẫu huấn luyện có liên quan đến mỗi nút con để chọn thuộc tính tốt nhất để thử nghiệm tại điểm đó trong cây điều này hình thành một cuộc tìm kiếm tham lam cho một cây quyết định có thể chấp nhận được trong đó thuật toán không quay lui để xem xét lại các lựa chọn trước đó Một phiên bản đơn giản của thuật toán này là chuyên về học các hàm có giá trị boolean ID3 là một thuật toán tham lam phát triển từ trên xuống, mỗi nút chọn thuộc tính phân loại tốt nhất các mẫu huấn luyện cục bộ, quy trình này tiếp tục cho đến khi cây phân loại hoàn toàn các mẫu huấn luyện, hoặc cho đến khi tất cả các thuộc tính đã được
Trang 22dùng Quá trình phân chia nhánh cây trong mô hình cây quyết định đều dựa vào công thức tính toán, định lượng rõ ràng, sao cho quá trình này sẽ đem lại kết quả tối ưu nhất Trong thuật toán cây quyết định có tham số max-depth (độ sâu tối đa cho một cây quyết định ) được quan tâm đến để hạn chế chiều sâu của cây nhằm giảm độ phức tạp của cây Tham số max-features cũng là tham số về số lượng các biến được lựa chọn để tìm ra biến phân chia tốt nhất cho mỗi lượt phân chia Còn tham số max-leaf-nodes là tham số về số lượng các node lá tối đa của cây quyết định thường được thiết lập khi muốn kiểm soát hiện tượng quá khớp dữ liệu
1.7.1.a Ví dụ về các bước xây dựng cây quyết định
Phần này sẽ trình bày một ví dụ về thuật toán ID3 với dữ liệu huấn luyện được cho trong Bảng 1.1 Bảng dữ liệu này chọn ngẫu nhiên 14 sinh viên trong dữ liệu thu thập được (bốn cột đầu, không tính cột id) về việc sinh viên bỏ học hay không (cột cuối cùng) Nhiệm vụ của cây quyết định là rút ra tập luật mô tả tường minh quan hệ giữa các thông số đầu vào và quyết định sinh viên thôi học (bước huấn luyện) Cây quyết định sau khi được huấn luyện phải dự đoán nhãn “thôi” hay “bình thường” ở cột cuối cùng nếu biết giá trị của bốn cột đầu tiên
Bảng 1 1.Bảng dữ liệu quyết định sinh viên nghỉ học hay không dựa trên thông số đầu vào
id ParentIncome AverageGrades Health Work Dropout
Trang 2311 Poor low normal yes true
Có bốn thuộc tính đầu vào:
ParentIncome nhận một trong ba giá trị: rich, poor, medium
AverageGrades nhận một trong ba giá trị: high, low, medium
Health nhận một trong ba giá trị: good, normal, notgood
Work nhận một trong hai giá trị: yes, no
Đây có thể được coi là một bài toán dự đoán liệu sinh viên có nghỉ học dựa trên các thông số đầu vào Ở đây, các thông số đầu vào đều ở dạng phân loại Cách dự đoán dưới đây tương đối đơn giản và khá chính xác, có thể không phải là cách ra quyết định tốt nhất:
- Nếu ParentIncome = poor và Health = not good thì Dropout = true
- Nếu ParentIncome = rich và AverageGrades = low thì Dropout = true
- Nếu ParentIncome = medium thì Dropout = false
Việc xây dựng cây là quá trình chọn thuộc tính làm nút phân chia cây Thuộc tính được chọn là thuộc tính gây ra giá trị entropy lớn nhất, đồng nghĩa rằng đó là thuộc tính nếu được chọn sẽ làm giảm sự bất xác định xuống thấp nhất Từ đó, các bước thực hiện xây dựng cây được trình bày như sau:
Trong 14 giá trị đầu ra ở bảng trên, có sáu giá trị bằng false và tám giá trị bằng true Entropy tại nút gốc của bài toán là:
Trang 24liệu
Xét thuộc tính ParentIncome Thuộc tính này có thể nhận một trong ba giá trị poor, rich, medium Mỗi một giá trị sẽ tương ứng với một nút lá Gọi tập hợp các
điểm trong mỗi nút con này lần lượt là 𝑃𝑝,𝑃𝑟,𝑃𝑚 với tương ứng 𝑚𝑝,𝑚𝑟,𝑚𝑚 phần
tử Sắp xếp lại bảng ban đầu theo thuộc tính ParentIncome ta đạt được ba bảng nhỏ
sau đây
Bảng 1 2.Sắp xếp lại Bảng ban đầu theo thuộc tính ParentIncome 1
id ParentIncome AverageGrades Health Work Dropout
Bảng 1 3.Sắp xếp lại Bảng ban đầu theo thuộc tính ParentIncome 2
id ParentIncome AverageGrades Health Work Dropout
Bảng 1 4 Sắp xếp lại Bảng ban đầu theo thuộc tính ParentIncome 3
id ParentIncome AverageGrades Health Work Dropout
Quan sát nhanh ta thấy rằng nút con ứng với ParentIncome = Medium sẽ có
Trang 25entropy bằng 0 vì tất cả 𝑚𝑜=2 output đều là false
Chúng ta có thể kiểm tra được rằng:
Bảng 1 5 Xét theo thuộc tính AverageGrades 1
id ParentIncome AverageGrades Health Work Dropout
Bảng 1 6 Xét theo thuộc tính AverageGrades 2
id ParentIncome AverageGrades Health Work Dropout
Bảng 1 7 Xét theo thuộc tính AverageGrades 3
id ParentIncome AverageGrades Health Work Dropout
Trang 262 Poor medium normal yes true
Gọi 𝑆ℎ, 𝑆𝑙, 𝑆𝑚 là ba tập con tương ứng với AverageGrades bằng high, low, medium Chúng ta có thể tính được
𝐻(ℎ𝑒𝑎𝑙𝑡ℎ, 𝐻) ≈ 0.539, 𝐻(𝑤𝑜𝑟𝑘, 𝑊) ≈ 0.224
Như vậy, thuộc tính cần chọn ở bước đầu tiên
là ParentIncome vì 𝐻(𝑃𝑎𝑟𝑒𝑛𝑡𝐼𝑛𝑐𝑜𝑚𝑒, 𝑆) đạt giá trị nhỏ nhất (information gain là
lớn nhất)
Sau bước phân chia đầu tiên này, ta nhận được ba nút con với các phần tử như
trong ba Bảng phân chia theo ParentIncome Nút con thứ hai không cần phân chia tiếp vì nó đã tinh khiết Với nút con thứ nhất, ứng với ParentIncomes = rich, kết quả tính được bằng ID3 sẽ cho chúng ta thuộc tính AverageGrades vì tổng trọng số của entropy sau bước này sẽ bằng 0 với output bằng true khi AverageGrades = low Tương tự, nút con ứng với ParentIncome = high sẽ được tiếp tục phân chia bởi thuộc tính health với output bằng true khi và chỉ khi health = not good
Như vậy, cây quyết định cho bài toán này dựa trên ID3 sẽ có dạng như hình sau:
Trang 271.7.1.b Điều kiện dừng huấn luyện (chia nhánh) cây quyết định
Trong các thuật toán cây quyết định nói chung và ID3 nói riêng, nếu ta tiếp tục
phân chia các nút chưa tinh khiết, ta sẽ thu được một cây mà mọi điểm trong tập huấn
luyện đều được dự đoán đúng (giả sử rằng không có hai đầu vào giống nhau nào cho đầu ra khác nhau) Khi đó, cây có thể sẽ rất phức tạp (nhiều nút) với nhiều nút lá chỉ
có một vài điểm dữ liệu Như vậy, nhiều khả năng overfitting sẽ xảy ra
Để tránh overfitting - là tình huống mô hình học quá sát dữ liệu khiến sai số kiểm thử ở tập dữ liệu huấn luyện thấp nhưng sai số kiểm thử ở tập dữ liệu kiểm tra tăng cao, một trong số các phương pháp sau có thể được sử dụng Tại một nút, nếu một trong số các điều kiện sau đây xảy ra, ta không tiếp tục phân chia nút đó và coi
nó là một nút lá:
- Nếu nút đó có entropy bằng 0, tức mọi điểm trong nút đều thuộc một lớp
- Nếu nút đó có số phần tử nhỏ hơn một ngưỡng nào đó Trong trường hợp này,
ta chấp nhận có một số điểm bị phân lớp sai để tránh overfitting Lớp cho nút lá này
có thể được xác định dựa trên lớp chiếm đa số trong nút
- Nếu khoảng cách từ nút đó đến nút gốc đạt tới một giá trị nào đó Việc hạn
chế chiều sâu của cây này làm giảm độ phức tạp của cây và phần nào giúp tránh
ParentIncome
Hình 1 3 Ví dụ về cây quyết định
Trang 28overfitting
- Nếu tổng số nút lá vượt quá một ngưỡng nào đó
- Nếu việc phân chia nút đó không làm giảm entropy quá nhiều (information gain nhỏ hơn một ngưỡng nào đó)
Cây quyết định là một thuật toán đơn giản và phổ biến Thuật toán này được sử dụng rộng rãi bởi mô hình sinh ra các quy tắc dễ hiểu cho người đọc, tạo ra bộ luật với mỗi nhánh lá là một luật của cây Tuy nhiên cây quyết định phụ thuộc rất lớn vào
dữ liệu, với một sự thay đổi nhỏ trong bộ dữ liệu, cấu trúc mô hình cây quyết định có thể thay đổi hoàn toàn
1.7.2 Thuật toán ANN (mạng neuron nhân tạo)
Theo các nhà nghiên cứu sinh học, hệ thống thần kinh của con người bao gồm khoảng 1011 tế bào thần kinh, thường gọi là các nơron
Mỗi tế bào nơron gồm ba phần:
Thân nơron với nhân bên trong (gọi là soma), là nơi tiếp nhận hay phát ra các xung động thần kinh
Một hệ thống dạng cây các dây thần kinh vào (gọi là dendrite) để đưa tín hiệu tới nhân nơron Các dây thần kinh vào tạo thành một lưới dày đặc xung quanh thân nơron, chiếm diện tích khoảng 0,25 mm2
Đầu dây thần kinh ra (gọi là sợi trục axon) phân nhánh dạng hình cây, có thể dài từ một cm đến hàng mét Chúng nối với các dây thần kinh vào hoặc trực tiếp với nhân tế bào của các nơron khác thông qua các khớp nối (gọi là synapse) Có hai loại khớp nối, khớp nối kích thích (excitatory) sẽ cho tín hiệu qua nó để tới nơron còn khớp nối ức chế (inhibitory) có tác dụng làm cản tín hiệu tới nơron Người ta ước tính mỗi nơron trong bộ não của con người có khoảng 104 khớp nối (hình 1.4)
Chức năng cơ bản của các tế bào nơron là liên kết với nhau để tạo nên hệ thống thần kinh điều khiển hoạt động của cơ thể sống Các tế bào nơron truyền tín hiệu cho
Trang 29nhau thông qua các dây thần kinh vào và ra, các tín hiệu đó có dạng xung điện và được tạo ra từ các quá trình phản ứng hoá học phức tạp Tại nhân tế bào, khi điện thế của tín hiệu vào đạt tới một ngưỡng nào đó thì nó sẽ tạo ra một xung điện dẫn tới trục dây thần kinh ra Xung này truyền theo trục ra tới các nhánh rẽ và tiếp tục truyền tới các nơron khác
Hình 1 4 Giản đồ của nơ ron sinh học
Mạng nơron nhân tạo là một mạng gồm rất nhiều perceptron, mỗi perceptron có cấu trúc tương tự một nút nhỏ của dây thần kinh sinh học Do đó mạng nơ ron nhân tạo là một mô hình xử lý thông tin phỏng theo cách thức xử lý thông tin của các hệ nơron sinh học Các perceptron trong ANN được nối với nhau thông qua các liên kết (gọi là trọng số liên kết) làm việc như một thể thống nhất để giải quyết một vấn đề cụ thể nào đó Một perceptron, hay còn gọi là một nơron, là một đơn vị xử lý thông tin
và là thành phần cơ bản của một mạng nơron
Các thành phần cơ bản của một nơron nhân tạo (một perceptron) bao gồm:
Tập các đầu vào: Là các tín hiệu vào (input signals) của nơron, các tín hiệu này thường được đưa vào dưới dạng một vectơ m chiều
Tập các liên kết: Mỗi liên kết được thể hiện bởi một trọng số (gọi là trọng số
liên kết–weight) Trọng số liên kết giữa tín hiệu vào thứ j với nơron k thường được
kí hiệu là 𝑤𝑗𝑘 Thông thường, các trọng số này được khởi tạo một cách ngẫu nhiên ở thời điểm khởi tạo mạng và được cập nhật liên tục trong quá trình học mạng Một loại
Trang 30hệ thống ANN dựa vào một đơn vị gọi là perceptron, được minh hoạ trong hình 1.5
Bộ tổng (Summing function): Thường dùng để tính tổng của tích các đầu vào với trọng số liên kết của nó
Ngưỡng (còn gọi là một độ lệch - bias): Ngưỡng này thường được đưa vào
như một thành phần của hàm truyền Thông thường, người ta sẽ coi độ lệch này bằng
1, gán trọng số liên kết với thông số này là 𝑤0
Hàm truyền (Transfer function) – còn gọi là Hàm kích hoạt (Activation
function): Hàm này được dùng để giới hạn phạm vi đầu ra của mỗi nơron Nó nhận đầu vào là kết quả của hàm tổng và ngưỡng đã cho Thông thường, phạm vi đầu ra của mỗi nơron được giới hạn trong đoạn [0,1] hoặc [-1, 1] Các hàm truyền rất đa dạng , có thể là các hàm tuyến tính hoặc phi tuyến Việc lựa chọn hàm truyền nào là tuỳ thuộc vào từng bài toán và kinh nghiệm của người thiết kế mạng
Đầu ra: Là tín hiệu đầu ra của một nơron, với mỗi nơron sẽ có tối đa là một đầu ra Như vậy tương tự như nơron sinh học, nơron nhân tạo cũng nhận các tín hiệu đầu vào, xử lý (nhân các tín hiệu này với trọng số liên kết, tính tổng các tích thu được rồi gửi kết quả tới hàm truyền), và cho một tín hiệu đầu ra (là kết quả của hàm truyền)
Hình 1 5 Perceptron đầy đủ với hàm kích hoạt là hàm sign
Một Perceptron lấy một vector gồm nhiều đầu vào có giá trị thực, tính một kết
Trang 31hợp tuyến tính của các đầu vào này, sau đó cho ra 1 nếu kết quả lớn hơn một ngưỡng nào đó và ngược lại cho ra -1
𝑦 ={
−1 𝑖𝑓 ∑ 𝑤𝑖𝑥𝑖 ≤ 0
1 𝑖𝑓 ∑ 𝑤𝑖𝑥𝑖 > 0
𝑖
𝑖
Đầu vào của network x được gán với nút 𝑥0 luôn luôn bằng 1 Tập hợp các nút
từ 𝑥0 đến 𝑥𝑖 được gọi là tầng đầu vào (input layer ) Số nút trong input layer là d+ 1 Đôi khi nút 𝑥0 = 1 này được ẩn đi Các trọng số 𝑤𝑖, 𝑤1… 𝑤𝑑 được gán vào các mũi tên đi tới nút z = ∑𝑑𝑖=0𝑤𝑖𝑥𝑖 = 𝑊𝑇𝑋 Nút y = sgn(z) là output của network Nút y thể hiện đồ thị của hàm sgn Hàm y = sgn(z) đóng vai trò là một hàm kích hoạt (activation function) Dữ liệu đầu vào được đặt vào input layer, lấy tổng có trọng số lưu vào biến
z rồi đi qua hàm kích hoạt để có kết quả ở y Đây chính là dạng đơn giản nhất của một neural network
Perceptron cũng có thể được vẽ giản lược như hình 1.6, với ẩn ý rằng dữ liệu ở input layer được lấy tổng có trọng số trước khi đi qua hàm lấy dấu y = sgn(z)
Hình 1 6 Perceptron thu gọn
Các neural network có thể có một hoặc nhiều nút ở output tạo thành một tầng đầu ra (output layer ), hoặc có thể có thêm các leyer trung gian giữa input layer và output layer, được gọi là tầng ẩn (hidden layer ) Các neural network thường có nhiều hidden layer và các layer có thể có các hàm kích hoạt khác nhau Ta có thể thay hàm kích hoạt (activation function ) bởi hàm identity y = z, ta sẽ có một mạng nơron mô
Trang 32tả hồi quy tuyến tính như hình 1.7
Hình 1 7 Hồi quy tuyến tính
Mạng nơron là sự kết hợp của của các tầng perceptron hay còn được gọi là perceptron đa tầng (multilayer perceptron) như hình 1.8
Hình 1 8 Mạng nhân tạo 1 lớp
Một mạng nhân tạo sẽ có 3 kiểu tầng:
Tầng vào (input layer): Là tầng bên trái cùng của mạng thể hiện cho các đầu vào của mạng
Tầng ra (output layer): Là tầng bên phải cùng của mạng thể hiện cho các đầu ra của mạng
Tầng ẩn (hidden layer): Là tầng nằm giữa tầng vào và tầng ra thể hiện cho việc suy luận logic của mạng Lưu ý rằng, một mạng nơron chỉ có một tầng vào và một tầng ra nhưng có thể có nhiều tầng ẩn
Trang 33Hình 1 9 Mạng nhân tạo nhiều lớp
Trong mạng nơron, mỗi nút mạng là một sigmoid nơ-ron nhưng hàm kích hoạt của chúng có thể khác nhau Tuy nhiên trong thực tế người ta thường để chúng cùng dạng với nhau để tính toán cho thuận lợi
Ở mỗi tầng, số lượng các nút mạng có thể khác nhau tuỳ thuộc vào bài toán và cách giải quyết Nhưng thường khi làm việc người ta để các tầng ẩn có số lượng nút mạng bằng nhau Ngoài ra, các nút mạng ở các tầng thường được liên kết đôi một với nhau tạo thành mạng kết nối đầy đủ (full-connected network) Khi đó ta có thể tính được kích cỡ của mạng dựa vào số tầng và số nơ-ron
1.7.3 Cấu tạo bên trong và tính toán của một mạng ANN
Hình 1 10 Cấu tạo bên trong ANN
1
+ +
+ +
+ + + +
Trang 34zi : là đầu ra của nơ ron thứ i
y : là kết quả dự đoán đầu ra của
Tính toán giá trị các tín hiệu:
Từ cấu tạo của ANN, có các công thức tính toán sau:
1.7.4 Huấn luyện mạng ANN
Trong đa số các trường hợp, ANN hoạt động tốt với a a Do đó các phân tích tính toán của phần này ta chọn a a
Phương pháp cập nhật w thực chất là phương pháp gradient descent, điều
Trang 35chỉnh w để giảm sai số E ở đầu ra:
Vấn đề còn lại là mỗi khi đưa cặp dữ liệu xn, tn vào, ta cần tìm n2
kj
E w
n2
nk nk j kj
E
y t z w