Trong thực tế, nó đã được sử dụng trong các bài toán cụ thé như phân loại khách huy động tiền gửi [7], phân loại kết quagame đánh bai [12], phân loại chất lượng của rượu [4].. thuộc lớp
Trang 1HỌC VIEN CÔNG NGHỆ BƯU CHÍNH VIỄN THONG
Lê Việt Linh
PHAN LOẠI DU LIEU BẰNG MẠNG NO RON NHÂN TẠO
VỚI THUẬT TOÁN LEVENBERG-MARQUARDT
Chuyên ngành: Hệ thống thông tin
Mãsó: 60.48.01.04
TOM TAT LUẬN VĂN THẠC SĨ
HÀ NỘI - 2015
Trang 2Người hướng dẫn khoa học: Tiến sĩ Nguyễn Đình Hóa
Phản biện 1: PGS TS Nguyễn Ngọc Hóa
Phản biện 2: TS Lê Hồng Phương
Luận văn sẽ được bảo vệ trước Hội đồng chấm luận văn thạcsĩ tại Học viện Công nghệ Bưu chính Viễn thông
Vào lúc: 13 giờ 45 ngày 27 tháng 02 năm 2016
Có thê tìm hiéu luận văn tại:
- Thư viện của Học viện Công nghệ Bưu chính Viễn thông
Trang 3MỞ ĐẦU
1 Tính cấp thiết của đề tài
Hiện nay, việc bảo đảm chất lượng vệ sinh an toàn thực phẩm giữ vi
trí quan trọng trong sự nghiệp bảo vệ sức khỏe người dân, góp phần thúcđây sự tăng trưởng kinh tế, văn hóa xã hội Tuy nhiên, việc sử dụng cácchất phụ gia trong sản xuất đang dan trở nên phổ biến: các loại pham màu,
đường hóa học đang bị lạm dụng trong pha chế đồ uống: rượu, bia, nước
giải khát Thậm chí, tình hình sản xuất đồ uống giả, không đảm bảo chatlượng vẫn thường xuyên xảy ra Theo Trung tâm kiểm soát dịch bệnh MỹCDC (Centers for Disease Control and Prevention) thống kê tháng 01/2015[3] cho biết mỗi ngày có hơn sáu ca tử vong do ngộ độc bia rượu Theo đó,hơn 2.200 người Mỹ chết do ngộ độc bia rượu hàng năm, 75% số ngườichết là những người có độ tudi từ 35-64 Ti trọng nay ở Việt Nam [11] còncao hơn nhiều, khi chiếm tới 71,7% số ca bệnh gan ở nam giới, và 37,7%
số ở nữ giới, ngoài ra, con số này là 36,2% số ca tai nạn ở nam giới
Bên cạnh việc tăng cường sự quản lý, điều hành của nhà nước trong
công tác thanh kiểm tra chất lượng vệ sinh an toàn thực phẩm, một nhu cầu
thiết thực đối với chúng ta là cẦn có một công cụ hỗ trợ, góp phần kiểmsoát từ khâu sản xuất Mục tiêu là dựa trên nguồn dữ liệu về thành phancấu tao, sản pham sẽ được phan loại, đánh giá, từ đó có sự điều chỉnh,nâng cao chất lượng, giảm thiểu sự rủi ro khi đưa vào sử dụng Câu hỏi đặt
ra là với khối lượng dữ liệu thu thập được, làm sao chúng ta có thể khaithác và lẫy thông tin Kỹ thuật khai phá dữ liệu ra đời để phục vụ con
người thực hiện việc đó Trong thực tế, nó đã được sử dụng trong các bài
toán cụ thé như phân loại khách huy động tiền gửi [7], phân loại kết quagame đánh bai [12], phân loại chất lượng của rượu [4] Đó là các bài toán
Trang 4thuộc lớp dự báo và phân loại, có thể xem là các bài toán cơ bản và cónhiều ứng dụng thực tiễn.Đã có nhiều phương pháp được đưa ra để giảicác lớp bài toán trên như phương pháp hồi quy [8], cây quyết định [2],
mang nơ ron nhân tạo [1].
2 Tổng quan vấn đề nghiên cứu
Luận văn này được thực hiện với mục đích nghiên cứu làm sáng tỏ
một số khía cạnh về mạng no ron truyền thăng nhiều lớp, đi sâu vao thuậttoán Levenberg — Marquardt và ứng dụng trong giải quyết các bài toán
phân loại dữ liệu mà cụ thể là áp dụng vào bài toán phân loại chất lượng
rượu.
3 Mục đích nghiên cứu
Nghiên cứu các đặc trưng của mạng nơ ron nhân tạo, khả năng và các
nguyên tắc để ứng dụng thành công mạng nơ ron nhân tạo trong thực tế
Nghiên cứu ứng dụng mạng nơ ron nhân tạo vào lớp bài toán phân loại.
Nghiên cứu sử dụng phần mềm thích hợp cho việc xây dựng và ứng dụngnhanh chóng mạng nơ ron nhân tạo đề giải quyết các bài toán phân loại
4 Đối tượng và phạm vi nghiên cứu
Nghiên cứu, tìm hiểu về mạng nơ ron truyền thăng và phương pháphuấn luyện Levenberg — Marquardt
Ứng dụng của mạng nơ ron trong giải quyết bài toán phân loại chất
lượng rượu.
5 Phương pháp nghiên cứu
Phương pháp nghiên cứu tài liệu: nghiên cứu lý thuyết và ứng dụng
mạng nơ ron nhân tạo trong bài toán phân loại.
Phương pháp thực nghiệm: sử dụng phần mềm mô phỏng mạng nơron cho bài toán phân loại và đánh giá kết quả
Trang 5Chương 1 - TONG QUAN VE MẠNG NO RON
1.1 Mang nơ ron nhân tạo
Mạng nơ ron nhân tạo là một hệ thống xử lý thông tin được xây dựng
trên cơ sở tông quát hoá mô hình toán học của nơ ron sinh học và phỏng theo cơ chê làm việc của bộ não con người Một nơ ron nhân tạo được thê
hiện thông qua các thành phan cơ bản
Tập các đầu vào: là tín hiệu vào của mạng nơ ron, các tín hiệu này
thường được đưa vao dưới dang | véc tơ R thành phan, hoặc tin hiệu
ra của các nơ ron thuộc lớp đằng trước
Trọng số liên kết: là trọng số liên kết giữa tín hiệu vào thứ j cho nơroni Thông thường các trọng số nay được khởi tạo 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
Bộ tổng (Hàm tổng): thường dùng dé tính tổng của các đầu vào đãđược nhân với các trọng số liên kết của nó
Độ lệch (bias): thường được đưa vào như một thành phần của hàm
truyền.
Hàm truyền: hàm nay dùng dé xác định và giới han giá trị đầu ra củamỗi nơ ron Nó nhận đầu vào là kết quả của hàm tổng kết hợp với độlệch đã cho Các hàm truyền rất đa dạng có thê là tuyến tính hoặc phi
Trang 6Trong đó:
pj: là tín hiệu đầu vào thứ jw: là trong số liên kết của nơ ron i cho đầu vào jƒ: là hàm truyền
b; : là độ lệch
aj: đầu ra
Như vậy cũng 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ênkết, tính tông các tích thu được kết hợp với độ lệnh rồi gửi kết quả tới hàmtruyền), và cho một tín hiệu dau ra là kết qua của hàm truyền
1.2 Cau trúc của mạng nơ ron
Các loại mạng nơ ron nhân tạo được xác định bởi cách liên kết giữa các
nơ ron, trọng số của các liên kết đó và hàm truyền tại mỗi nơ ron Dưới
đây là một số kiến trúc mạng nơ ron điền hình
Mạng tự kết hợp - autoassociative: là mạng có các nơ ron đầu vàocũng là các nơ ron đầu ra (mang Hopfield)
Kiến trúc truyền thắng - feedforward architechture: là kiểu kiến
trúc mạng không có các kết nối ngược trở lại từ các nơ ron đầu ra vềcác nơ ron đầu vào; mạng không lưu lại các giá trị output trước và
các trạng thái kích hoạt của nơ ron.
Kiến trúc phản hồi - Feedback architecture: là kiểu kiến trúcmạng có các kết nối từ nơ ron đầu ra tới nơ ron đâu vào
1.3 Các luật học của mạng nơ ron nhân tạo
1.3.1 Học có giám sát 1.3.2 Học không có giám sát 1.3.3 Học bán giám sát
Trang 71.4 Ứng dụng của mạng nơ ron nhân tạo
Các nhóm ứng dụng mà mạng nơ ron nhân tạo đã được áp dụng rất
có hiệu quả là:
Bài toán phân lớp, bài toán dự báo, bai toán điều khiến và tối ưu hoá
Kết luận
Trong chương này chúng ta tìm hiểu các khái niệm và khả năng ứng
dụng của mạng nơ ron nhân tạo Mạng nơ ron nhân tạo được coi là một
công cụ mạnh, mềm dẻo để giải quyết các bài toán có tính phi tuyến, phứctạp và đặc biệt trong các trường hợp mà mối quan hệ giữa các quá trìnhkhông dễ thiết lập một cách tường minh Do đó, khả năng ứng dụng của nó
là rất lớn đặc biệt trong bài toán phân loại Trong chương tiếp theo, chúng
ta sẽ tìm hiểu về mạng no ron nhiều lớp truyền thăng va các thuật toán
huan luyện đôi với loại mạng này.
Trang 8Chương 2 - MẠNG NO RON TRUYEN THANG VÀ THUẬT TOÁN
LEVENBERG MARQUARDT
2.1 Mang no ron truyền thang
Mang no ron truyén thang duoc chia thanh hai loai 1A mangperceptron một lớp và mang perceptron nhiéu lớp
2.1.1 Mang Perceptron 1 lớp
Mang perceptron một lớp do F.Rosenblatt đề xuất năm 1960 là mạngtruyền thăng chỉ một lớp vào và một lớp ra không có lớp an
2.1.1 Mạng Perceptron nhiều lớp (Multilayer Perceptron — MLP)
Mạng perceptron nhiều lớp còn được gọi là mạng truyền thắng nhiềulớp là sự mở rộng của mô hình mang perceptron một lớp với sự bổ sungthêm các lớp ân và các nơ ron trong lớp an này có hàm truyền (hàm kích
hoạt) dạng phi tuyến Mạng MLP có một lớp an là mạng nơ ron nhân tạo
được sử dụng phổ biến nhất, nó có thể xap xỉ các hàm liên tục được địnhnghĩa trên một miền có giới hạn cũng như những hàm là tập hợp hữu hạncủa các điểm rời rạc
2.2 Thuật toán Levenberg Marquardt
Thuật toán Levenberg Marquardt là sự kết hợp của thuật toánsteepest descent và thuật toán Gaussian-Newton Trước khi đi tìm hiểuthuật toán Levenberg Marquardt ta sẽ đi tìm hiểu 2 thuật toán Steepest
descent và Gaussian-Newton.
2.2.1 Thuật toán steepest descent (Độ doc lớn nhat)
Thuật toán Steepest descent còn được biết đến là thuật toán lan
truyền ngugc sai số, tuy nhiên nhược điểm của nó là hội tụ chậm Trong
thuật này, vector gradient của mặt phăng sai số sẽ được tính toán Vector
Trang 9này chỉ ra đường dốc nhất và vị trí hiện tại, vì thế nếu ta di chuyển theo nó
1 khoảng ngăn ta có thé dat giá trị nhỏ nhất
Luật cập nhật của thuật toán Steepest descent:
=w,-ag, ala hang số học (2.6)
w k+l
Thuật toán Steepest descent lặp theo hướng cua các bước trước nên
hội tụ không nhanh, sẽ hiệu quả hơn nếu trong mỗi bước của thuật toán
khi ta trượt theo hướng nao đó thi ta trượt đến chỗ thuật toán dừng tại bước
lặp cuối cùng
2.2.2 Thuật toán Newton Luật cập nhật cho phương pháp Newton:
Wier =Wk— Hy gx (2.17)
So sánh luật cập nhật giữa thuật toán Newton (2.17) và thuật toán
Steepest Descent (2.6) ta thấy răng thuật toán Newton có thêm ma trận
nghịch dao Hessian.
2.2.3 Thuật toán Gaussian-Newton
Trong thuật toán Newton luật cập nhật trọng số có ma trận nghịch đảo Hessian, là ma trận bậc đạo hàm bậc 2 của sai số toàn phương Do đó, việc tính toán sẽ rất phức tạp Để đơn giản hóa quá trình tính toán, ta sử
Trang 102.2.4 Thuật toán Levenberg - Marquardt
Levenberg Marquardt được cải tiễn từ thuật toán Quasi-Newton détránh rơi vào cực tri địa phương Thuật toán nay dựa trên khai triển bậc 2của khai triển Taylor nhằm mục đích xác định giá trị nhỏ nhất của hàm sai
số E Các tham số tham gia quá trình điều chỉnh E chính là trọng số kết nốigiữa các nơ ron của mạng Khi đó các ma trận triển khai xung quanh E có
dạng: H = J’J và gradient được tính là: ø=Jƒ e Do việc tính toán ma trận
H phức tạp nên Levenberg Marquardt đã thay thế H bang giá trị gần đúng
được xác định như sau:
HeJ' J tul (2.26)
Trong đó
u là hệ số kết hợp (> 0)
I là ma trận đơn vi.
Khi sai số giảm xuống va E tiến gần tới điểm cực trị thì hé số kết hợp
u sẽ được giảm và thành phan [J7 J] sẽ chiếm tỉ trọng ngày càng lớn trong
công thức (2.26) Tính hiệu quả của thuật toán Levenberg Marquardt do
việc điều chỉnh ¿ quyết định Đầu tiên w có giá trị rat lớn và giảm dan về 0khi đạt gần tới điểm cực trị
Từ phương trình (2.26), có thể nhận thấy rằng các yếu tố trên đườngchéo chính của ma trận xấp xỉ Hessian sẽ lớn hơn không Với phép xấp xỉ
nay thi ma trận HH luôn là khả nghịch.
Luật cập nhật Levenberg Marquardt như sau:
wi =, —(JTJ,+/H) Se, (2.27)
Như đã trình bày ở phần đầu thuật toán Levenberg Marquardt là sựkết hợp của thuật toán steepest descent và thuật toán Gaussian-Newton,thuật toán Levenberg Marquardt có chuyên đổi giữa 2 thuật toán trong quá
Trang 11trình học Khi hệ số kết hợp là rất nhỏ (gần như bằng 0), phương trình(2.27) tiến gần tới phương trình (2.15) và thuật toán Gaussian-Newtonđược sử dụng Khi hệ số kết hợp p là rất lớn, phương trình (2.27) xấp xi
phương trình (2.6) và thuật toán steepest descent được sử dụng.
Nếu hệ số kết hợp trong phương trình (2.27) là rất lớn, nó có théđược hiểu như là hệ số học trong thuật toán steepest descent (2.6) với:
Trang 122.3 Cải tiến thuật toán Levenberg Marquardt
Thuật toán Levenberg-Marquardt tương tự như các thuật toán tối ưu khác, là 1 thuật toán lặp, bắt đầu từ tham số khởi tạo với độ lỗi tính toán được
cao, sau mỗi lần lặp độ lỗi giảm dần dựa trên việc chọn 1 tham số ước lượng phù hợp hơn Trong phần này chúng ta sẽ đi tìm cách tối ưu hóa quá trình huấn
luyện mạng no ron sử dụng thuật toán Levenberg Marquardt.
2.3.1 M6 tả bai toán
Xuất phát từ thuật toán steepest descent và thuật toán Newton, luật cập
nhật của thuật toán Levenberg Marquardt được viết lại như sau;
Luật cập nhật mới cua thuật toán Levenberg Marquardt được viết như
sau: Aw =(Q+4ul)'g (2.39)
Từ biểu thức (2.39) ta có nhận xét như sau:
- Kích thước của ma trận quasi Hessian và vector gradient gtuong
ứng với số lượng các trọng số của mạng, không còn phụ thuộc vào đầu vào và số lượng mẫu huấn luyện của mạng.
- Ma trận quasi Hessian Q và vector gradient ø được tính toán trực
tiếp mà không phải tính toán và lưu trữ ma trận Jacobian J như luật
Trang 13Quay trở lại với bài toán “nhận dạng mô hình” đã được nêu ở phân
2.3.1 Ta có kết quả so sánh giữa Levenberg Marquardt ngốc và LevenbergMarquardt cải tiến
Bảng 2.4 So sánh về bộ nhớ
Tiêu chí Bài toán “Nhận dạng mô
hình”
Cấu trúc 784 = 1 single layer network
Kích thước ma tran Jacobian 47,100,000
Kích thước cua vector W 785
Thuat toan Bộ nhớ
¬ Marquardt nguyên 385,68Mb
Levenberg Marquardt cải tiễn 15,67Mb
Trang 14Tỉ lệ thành công 58% 37% 24% 12%
Thuật toán Trung bình thời gian học (s)
Levenberg
, 0.78 68.01 1,508.46 43,417.06 Marquardt gôc
Levenberg
0.33 22.09 173.79 2,797.93
Marquardt cải tiễn
2.4 Vẫn đề học chưa đủ và học quá đà của mạng
Mạng nơ ron nhiều lớp là loại mạng nơ ron được sử dụng trong nhiềuứng dụng thực tế Tuy nhiên, dé mạng có thé đưa ra kết quả tốt, chúng ta
cần quan tâm đến một số vấn đề có ảnh hưởng khá quan trọng đến hiệu quả làm việc của nó bao gồm: vấn đề học chưa đủ và học quá đà của
mạng.
Trang 15Kết luận chương
Chương này trình bay chi tiết về mang perceptron một lớp, mạng
MLP và thuật toán huấn luyện theo phương pháp Levenberg Marquardt,
cũng như các cách dé cải tiến thuật toán Levenberg Marquardt làm cho nó
nhanh hơn và tiết kiệm bộ nhớ hơn Trong chương tiếp theo chúng ta sẽ đitìm hiểu quy trình xây dựng mạng nơ ron nhân tạo, để ứng dụng mạng nơ
ron với thuật toán học được nêu trong chương này vào bai toán phân loại chât lượng của rượu.
Trang 16Chương 3 - UNG DỤNG MẠNG NO RON NHÂN TẠO
TRONG BÀI TOÁN PHAN LOẠI CHAT LƯỢNG RƯỢU
3.1 Giới thiệu về bài toán phân loại
3.1.1 Pháp biểu bài toán
Phân loại là một trong những kỹ thuật phổ biến nhất của học máy vàkhai phá dữ liệu Day là một tiến trình xử lý nhằm xếp các mẫu dit liệu haycác đối tượng vào một trong các lớp đã được định nghĩa trước Cách sắp
xếp này dựa vào giá trị của các thuộc tính của một mẫu dữ liệu hay đối
tượng Sau khi đã xếp tất cả các đối tượng biết trước vào các lớp tương
ứng, lúc này mỗi lớp được đặc trưng bởi tập các thuộc tính của các đối
tượng chứa trong lớp đó.
Bài toán phân loại được phát biểu như sau: Cho một tập các mẫu huấn
luyện (xi, Xi2, , xø, yi), =1, ,M Nhiệm vụ là phải ước lượng được một
bộ phân loại hay một mô hình xap xỉ dưới dạng một ham y = f(x) chưa biết
mà có thé phân loại chính xác cho bất kỳ mẫu nào thuộc tập các mẫu huấn
luyện.
3.1.2 Giới thiệu về bộ dữ liêu phân loạiLuận văn sử dụng bộ dữ liệu phân loại rượu Vinho verde một loạirượu vang nỗi tiếng của vùng Minho phía đông bắc Bồ Dao Nha Dữ liệu được lấy từ kho dit liệu UCI [14] có hai bộ dữ liệu về rượu là bộ dữ liệu Tượu vang trăng và bộ dữ liệu rượu vang đỏ Hai bộ dữ liệu này được thu thập từ tháng 5/2004 tới tháng 2/2007 bởi tổ chức CVRVV Một tổ chức chuyên nghiên cứu để nâng cao chất lượng rượu Vinho verde.
Các dữ liệu của cả 2 bộ này được ghi lại bằng một hệ thống máy tính
tự động quản lý quá trình thử nghiệm mẫu rượu từ yêu cầu của nhà sảnxuất đến phòng thí nghiệm Bộ dữ liệu về rượu vang đỏ có 1599 mẫu, bộ
Trang 17dữ liệu vang trăng có 4898 mẫu Cả 2 bộ dit liệu đề có 12 thuộc tính trong
đó có 11 thuộc tính đầu vào và một thuộc tính đầu ra Thuộc tính đầu rađược chia thành 9 lớp là các số từ 1 đến 9 đặc tả chất lượng của rượu N éudau ra là 1 thì chất lượng rat tồi còn nếu dau ra là 9 thì chat lượng rat ngon.Mười một thuộc tính đầu vào được mô tả theo bảng dưới đây
Bảng 3.1 Bảng mô tả các thuộc tính của bộ dữ liệu rượu [14]
Clo (nát ri clo rit)
total sulfur dioxide (mg/dm3) SƠ; toàn phần