Các mô hình tính toán mô phỏng bộ não người đã được nghiên cứu trong nửa đầu thế kỷ 20. Mặc dù có nhiều mô hình khác nhau được đề xuất, song tất cả đều dùng một cấu trúc mạng gọi là các nơron. Các nơron này xử lý các tín hiệu số gửi tới từ môi trường bên ngoài hoặc từ các nơron khác trong mạng thông qua các kết nối và sau đó gửi tín hiệu đến các nơron khác hoặc ra môi trường. Mạng nơron nhân tạo, gọi tắt là mạng nơron là một lớp các mô hình tính toán như vậy .Cách tiếp cận mạng nơron nhân tạo có ý nghĩa thực tiễn rất lớn cho phép tạo ra các thiết bị có thể kết hợp khả năng song song cao của bộ não với tốc độ tính toán cao của máy tính. Trong những năm gần đây mạng nơron nhân tạo đã được nghiên cứu và ứng dụng trong lĩnh vực như y học, điều khiển,… và đặc biệt được ứng dụng nhiều trong lĩnh vực công nghệ thông tin. Em đã tiếp cận với mạng nơron bằng việc cài đặt (trên MatLab) một mạng Perceptron một lớp (với luật học delta), một mạng Perceptron hai lớp (Luật học lan truyền ngược) và một mạng RBF để giải bài toán phân loại Glass Indentification
Trang 1KHOA CÔNG NGHỆ THÔNG TIN
ĐỀ TÀI ỨNG DỤNG MẠNG NƠ-RON NHÂN TẠO VÀO PHÂN LOẠI KÍNH
Trang 2MỤC LỤC
MỤC LỤC 2
LỜI MỞ ĐẦU 3
I Mô tả tập dữ liệu: 4
1.1 Mô tả tập dữ liệu: 4
1.2 Chuẩn hóa dữ liệu: 4
1.3 Vẽ phân bố tập dữ liệu trên không gian dữ liệu vào: 5
II THIẾT KẾ VÀ CÀI ĐẶT 8
1 Thuật toán Perceptron 1 lớp 8
2 Thuật toán Multi Perceptron 12
3 Thuật toán RBF 14
III KẾT QUẢ VÀ PHÂN TÍCH 16
1 Kết quả chạy dữ liệu 16
1.1 Chạy dữ liệu với mạng Perceptron 1 lớp 16
1.2 Chạy dữ liệu với mạng Multi Perceptron 17
1.3 Chạy dữ liệu với mạng RBF 19
2 Phân tích kết quả 20
KẾT LUẬN 21
TÀI LIỆU THAM KHẢO 22
Trang 3LỜI MỞ ĐẦU
Các mô hình tính toán mô phỏng bộ não người đã được nghiên cứu trongnửa đầu thế kỷ 20 Mặc dù có nhiều mô hình khác nhau được đề xuất, song tất cảđều dùng một cấu trúc mạng gọi là các nơron Các nơron này xử lý các tín hiệu
số gửi tới từ môi trường bên ngoài hoặc từ các nơron khác trong mạng thông quacác kết nối và sau đó gửi tín hiệu đến các nơron khác hoặc ra môi trường Mạngnơron nhân tạo, gọi tắt là mạng nơron là một lớp các mô hình tính toán như vậy
Cách tiếp cận mạng nơron nhân tạo có ý nghĩa thực tiễn rất lớn cho phéptạo ra các thiết bị có thể kết hợp khả năng song song cao của bộ não với tốc độtính toán cao của máy tính Trong những năm gần đây mạng nơron nhân tạo đãđược nghiên cứu và ứng dụng trong lĩnh vực như y học, điều khiển,… và đặc biệtđược ứng dụng nhiều trong lĩnh vực công nghệ thông tin Em đã tiếp cận vớimạng nơron bằng việc cài đặt (trên MatLab) một mạng Perceptron một lớp (vớiluật học delta), một mạng Perceptron hai lớp (Luật học lan truyền ngược) và một
mạng RBF để giải bài toán phân loại Glass Indentification
Do thời gian thực hiện tiểu luận cũng như kinh nghiệm có hạn nên tiểuluận này không tránh khỏi một số sai sót ngoài ý muốn Em rất mong nhận được
sự góp ý và chỉ bảo của Thầy cũng như các bạn học viên trong lớp để đề tài đượchoàn thiện
Trang 4I MÔ TẢ DỮ LIỆU
1.1 Giới thiệu:
Bộ dữ liêu Glass do cơ quan nghiên cứu trung ương của Đức, sở pháp y khoa họcAldermasston thu thập và nghiên cứu Việc nghiên cứu phân loại các loại kínhđược thúc đẩy bởi việc điều tra tội phạm học. Tại hiện trường vụ án, mảnh kính
để lại có thể được sử dụng làm bằng chứng nếu nó được xác định chính xác!Tập dữ liệu bao gồm 214 mẫu từ 6 loại kính: building_windows_float_processed,xe_windows_float_processed, building_windows_non_float_processed, hộpđựng, bộ đồ ăn, đèn pha
9 thuộc tính được đo từ mỗi mẫu: RI, Na, Mg, Al,Si, K, Ca, Ba, Fe Dựa trên sựkết hợp của 9 thuộc tính này, đã phát triển một mô hình phân biệt phân biệt cácloại kính
.- Link bộ dữ liệu: https://archive.ics.uci.edu/ml/datasets/Glass+Identification
- Bộ dữ liệu này là công khai cho nghiên cứu
1.2 Thông tin thuộc tính:
* Các thuộc tính của mỗi loài kính :
1 Chỉ số khúc xạ (refractive index)
2 Na tri (Sodium) đơn vị đo % trọng lượng trong oxit tương ứng
3 Magie (Magnesium) đơn vị đo %
4 Nhôm(Magnesium) đơn vị đo %
5 Silic(Silicon) đơn vị đo %
6 Kali(Potassium) đơn vị đo %
7 Canxi(Calcium) đơn vị đo %
8 Bari(Barium) đơn vị đo %
9 Sắt(Iron) đơn vị đo %
* Các loài kính:
Trang 513 mẫu loại thứ tư
9 mẫu loại thứ năm
29 mẫu loại thứ sáu
Trang 6Sheet du-lieu-goc
HÌNH 1 :sheet dữ liệu gốc (File excel đính kèm)
- Dữ liệu được ánh xạ vào [-1,1]
- Sau đó tách thuộc tính ra như sau:
+ Input
Cung cấp cho 9 phép đo ( Ri,
Na, Mg, Al, Si, K, Ca, Ba, Fe)
+ Output
-1 : building_windows_float_processed -0.667:building_windows_non_float_processed -0.333: vehicle_windows_float_processed 0.333: containers
0.667: tableware 1: headlamps
1.4 Chuẩn hóa dữ liệu
Công thức chuẩn hóa dữ liệu
MIN($B$2:$B$215))
Trang 7=(B2*2-MAX($B$2:$B$215)-MIN($B$2:$B$215))/(MAX($B$2:$B$215)-HÌNH 2: Dữ liệu sau khi được chuẩn hóa
(Có file excel đính kèm)
1.5 Bảng phân bố dữ liệu dựa trên không gian dữ liệu vào
HÌNH 3: Đồ thị phân bố dữ liệu trên không gian dữ liệu vào
Trang 8II THIẾT KẾ VÀ CÀI ĐẶT
- Ngôn ngữ Matlab: là một ngôn ngữ ma trận/mảng cấp cao với các câu
lệnh, hàm, cấu trúc dữ liệu, vào/ra, các tính năng lập trình hướng đối tượng Nócho phép lập trình các ứng dụng từ nhỏ đến các ứng dụng lớn và phức tạp
- Môi trường làm việc Matlab: Đây là một bộ các công cụ và phương tiện
mà bạn sử dụng với tư cách là người dùng hoặc người lập trình Matlab Nó baogồm các phương tiện cho việc quản lý các biến trong không gian làm việcWorkspace cũng như xuất nhập khẩu dữ liệu Nó cũng bao gồm các công cụ pháttriển, quản lý, gỡ rối và định hình M-file, ứng dụng của Matlab
Trang 9Bước 2: Chọn Import dữ liệu cho các dữ liệu đầu vào và đầu ra:
Bước 3: Sau khi có dữ liệu đầu vào và đầu ra ta tiến hành tạo mới mạng Perceptron theo những thuộc tính như hình sau:
Trang 10Sau khi điền đầy đủ thông tin ta sẽ có mạng Perceptron 1 lớp như sau:
Bước 4: Tiếp theo ta tiến hành huấn luyện với 2/3 số mẫu được chọn bằng cách
mở Mạng Perceoptron 1 lớp vừa tạo ra và tiến hành huấn luyện với giao diện như sau:
Trang 11Với các thuộc tính khai báo:
Quá trình huấn luyện:
Trang 122 Thuật toán Multi Perceptron
Tương tự như Perceptron 1 lớp, multi perceptron có bước 1 và bước 2giống perceptron 1 lớp Từ bước 3 ta sẽ chọn kiểu như hình sau:
Ta sẽ có mô hình như sau:
Trang 13Sau khi có được mô hình mạng nơ-ron nhiều lớp ta cũng tiến hành huấnluyện tương tự như Perceptron 1 lớp như sau:
Trang 143 Thuật toán RBF
Tương tự như multi Perceptron ta chọn tham số RBF như sau:
Ta nhận được mô hình:
Trang 15Và sơ đồ mạng:
Trang 16III KẾT QUẢ VÀ PHÂN TÍCH
1 Kết quả chạy dữ liệu:
1.1 Chạy dữ liệu với mạng Perceptron 1 lớp:
- Sau quá trình huấn luyện và kiểm thử kết quả như sau:
+ Kết quả huấn luyện:
+ Kết quả kiểm thử:
+ Kết quả:
Trang 171.2 Chạy dữ liệu với mạng Multi Perceptron
- Sau quá trình huấn luyện và kiểm thử kết quả như sau:
+ Kết quả huấn luyện:
+ Kết quả kiểm thử:
Trang 18+ Kết quả:
Trang 191.3 Chạy dữ liệu với mạng RBF
- Sau quá trình huấn luyện và kiểm thử kết quả như sau:
+ Kết quả huấn luyện:
+ Kết quả kiểm thử:
Trang 20+ Kết quả:
2 Phân tích kết quả:
Qua kết quả trên ta thấy đối với thuật toán delta và thuật toán RBF vớitổng lỗi thì như nhau, tuy nhiên thời gian học và hội tụ của thuật toán delta lànhanh hơn thuật toán RBF Đối với thuật toán Multi Perceptron có tổng lỗi thấphơn hai thuật toán delta và RBF và thời gian học thì nhanh hơn thuật toán RBFnhưng lại chậm hơn thuật toán delta
Qua đó ta thấy nguyên tắc hoạt động của mạng RBF là chuyển đổi bài toán
từ không gian có thể phân loại không tuyến tính vào không gian(thông thường cókích thước lớn hơn) có thể phân loại tuyến tính Giải thuật học được sử dụng chomạng RBF thông thường là K-Means hay Adaptive K-Means
Trang 21Hướng phát triển tiếp theo:
Nâng cao hiệu quả và độ chính xác trong phân loại
Mở rộng thêm nhận dạng cho các bài toán có cơ sở dữ liệu lớn
Trang 22TÀI LIỆU THAM KHẢO
1 Võ Viết Minh Nhật, “Mạng nơ-ron nhân tạo và ứng dụng”, nhà xuất bản
giáo dục Việt Nam.
2 Colin Fyfe, “Artificial Nơ-ron Networks and Information theory”,
Department of computing and information system, the University of Paisley.
3 Mostefa Golea and Mario Marchand, “A Growth Algorithm for Nơ-ron
Networks Decision Trees”, Deparment of Physics, University of Ottawa Canada
4 From Wikipedia Artificial nơ-ron network, the free encyclopedia.
5. http://en.wikipedia.org/wiki/rbf
6. http://www.codeproject.com/
7. http://archive.ics.uci.edu/ml/datasets/Wine